如何读取httpwebrequest header

2025-06-26 19:46:42
推荐回答(1个)
回答1:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(PageUrl);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream resStream = response.GetResponseStream();
Encoding enc = Encoding.GetEncoding("GB2312");
StreamReader sr = new StreamReader(resStream, enc);
等等。将获取到的内容显示出来之后,发现内容比浏览器中打开的网易页面源码少很多,且其中有“
因为您的ISP供应商并没有遵循标准的互联网协议,我们对您的访问作出限制,敬请谅解。
您可以通过以下链接继续访问”字样。不明所以,所以只好假设是Request的User-Agent设置有问题。
在chrome调试中将请求的User-Agent字段拷出:
User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153
用request.header.add()方法添加,结果却报错:必须使用适当的属性或方法修改此标头。试了半天,才发现原来一些常用header已经被request固化,比如此处添加User-Agent必须要用request.UserAgent属性来设置,而只有不太常用的一些header才可用Add方法添加。