屏幕抓取时,“远程服务器返回错误:(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