屏幕抓取時,「遠程服務器返回錯誤:(403)禁止」我們有一個工具,用於檢查給定的URL是否爲實時URL。如果給定的網址是直播的,我們軟件的另一部分可以從網站上截取內容。獲取錯誤當使用HttpWebRequest.GetResponse()
這是我的檢查代碼URL是活
public static bool IsLiveUrl(string url)
{
HttpWebRequest webRequest = WebRequest.Create(url) as HttpWebRequest;
webRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5";
webRequest.CookieContainer = new CookieContainer();
WebResponse webResponse;
try
{
webResponse = webRequest.GetResponse();
}
catch (WebException e)
{
return false;
}
catch (Exception ex)
{
return false;
}
return true;
}
此代碼的工作完美,但對於託管在Apache的一個特定的網站我得到與下面的消息網絡異常。 「遠程服務器返回錯誤:(403)禁止」 在進一步檢查我發現在引發WebException對象的以下細節
狀態=「ProtocolError」 狀態說明=「不良行爲」
這是請求標題「User-Agent:Mozilla/5.0(Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6)Gecko/20060728 Firefox/1.5 Host:scenicspares.co.uk Connection:Keep-Alive」
這是響應標題「Keep-Alive:timeout = 4,max = 512 Connection:Keep-Alive 傳輸編碼:分塊 的Content-Type:text/html的 日期:星期四,2011年01月13 10時29分36秒GMT 服務器:Apache」
我提取使用VS2008的手錶這些頭。使用的框架工作是3.5。
Hello @syed,我面對同樣的問題,並且已經添加了.Accept代碼,但是我仍然有這個錯誤。有任何想法嗎?謝謝 – swdev 2011-12-05 02:26:44