采集数据时,常常遇到,某个网址在浏览器中能访问,但是
通过程序 使用 HttpWebRequest去请求该页面却没有响应,得不到网页的源码,或者出现超时现象。
纠结了很久,找啊找,最终找到了办法
解决办法:设置UserAgent 字符
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36";
值得注意的是:
C# 中 采用 类似这种 Headers.Add 的方式是不成功的!下面这是错误的做法:
webClient.Headers.Add(“User-Agent”, “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1)”);