我需要檢查一個文本文件是否存在於不同域上的站點上。該URL可能是:檢查ASP.NET中是否存在文本文件
http://sub.somedomain.com/blah/atextfile.txt
我需要從後面的代碼做到這一點。我試圖使用HttpWebRequest
對象,但不知道如何去做。
編輯:我正在尋找這樣做,我會執行每隔幾秒鐘
我需要檢查一個文本文件是否存在於不同域上的站點上。該URL可能是:檢查ASP.NET中是否存在文本文件
http://sub.somedomain.com/blah/atextfile.txt
我需要從後面的代碼做到這一點。我試圖使用HttpWebRequest
對象,但不知道如何去做。
編輯:我正在尋找這樣做,我會執行每隔幾秒鐘
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(
"http://sub.somedomain.com/blah/atextfile.txt");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
// FILE EXISTS!
}
response.Close();
這樣的事情可能會爲你工作:
using (WebClient webClient = new WebClient())
{
try
{
using (Stream stream = webClient.OpenRead("http://does.not.exist.com/textfile.txt"))
{
}
}
catch (WebException)
{
throw;
}
}
如果每隔幾秒鐘執行一次,您可能還希望將HttpWebRequest.Timeout屬性設置爲較低的值。默認值爲100秒,如果文件不可用或服務器無響應,您可能不希望等那麼久。 – 2010-02-05 23:46:59
如果文件不存在,那麼requestGetResponse()會引發異常?遠程服務器返回一個錯誤:(404)未找到。「,」StackTrace「:」在System.Net.HttpWebRequest.GetResponse – Nick 2010-02-05 23:50:01
我猜這可能是包裹在一個使用塊,使其有點莫'好不需要Close())。 – Beska 2010-02-05 23:51:57