我正在使用HttpWebRequest爬取一个网站,但该网站返回了一个错误。当我从浏览器访问该页面时,它可以正常工作。我想比较一下它们,看看可能导致错误的原因。我知道如何拦截浏览器发送的请求以检查标头,但是我该如何查看HttpWebRequest发送的数据?
我正在使用HttpWebRequest爬取一个网站,但该网站返回了一个错误。当我从浏览器访问该页面时,它可以正常工作。我想比较一下它们,看看可能导致错误的原因。我知道如何拦截浏览器发送的请求以检查标头,但是我该如何查看HttpWebRequest发送的数据?
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.stackoverflow.com");
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
Console.WriteLine(response.Headers);
你可以通过 Headers 属性从 HTTPWebRequest 中获取头信息。来自 MSDN:http://msdn.microsoft.com/zh-cn/library/system.net.httpwebrequest.headers.aspx
我不知道是否有通用解决方案。但如果你使用Firefox,两个附加组件都会有所帮助:Firebug或LiveHTTPHeaders。