我想創建一個方法來確定一個特定的URL是否可匿名使用。我這樣做是爲了去除自定義搜索頁面中無法訪問的結果。最好的我可以拿出來是如何從C#中的URL有效檢查401響應?
public bool IsWebAddressAccessible(string Url)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
}
catch (System.Net.WebException)
{
return false;
}
return true;
}
但是,這是不是理想的幾個兩個原因。首先,據我所知,以這種方式依靠邏輯異常是無效的。其次,在頁面可訪問的情況下,它似乎檢索整個頁面,這是耗時的。所以問題是:
- 有沒有辦法做到這一點,而不依賴於例外?
- 有沒有辦法加快速度,所以我可以看到響應是否回到401或不等待檢索整個頁面?
只是爲了確認,你想使用內置的.NET類來處理HTTP,如果可能的話,所以你保留自動使用IE代理設置等?它只是一個普通的請求,沒有cookies,沒有POST數據等? –
這只是使用當前代理設置的基本請求。請求中沒有發送任何特殊內容。我想要做的就是查看響應是否返回401與頁面數據。 – dpsla