繁体   English   中英

如何查看HttpWebRequest发送的标头

[英]How to view the headers sent by HttpWebRequest

我正在使用HttpWebRequest抓取网站,但该网站返回错误。 当我从浏览器中点击该页面时,该页面运行良好。 我想将它们进行比较,以查看可能导致错误的原因。 我知道如何拦截来自浏览器的请求以检查标头,但是如何查看HttpWebRequest发送的数据?

为了比较您在代码中所做的事情和浏览器的所作所为,我相信像Fiddler这样的HTTP调试工具将是最简单的解决方案。

Fiddler充当客户端和服务器之间的代理,并显示通过HTTP协议发送的所有信息。

您可能需要将.NET应用程序配置为使用Fiddler提供的代理。 这篇博客文章提供了有关该主题的详细信息。

http://www.fiddler2.com/fiddler2/是处理此类问题的好工具。

Firebug的 “网络”面板将显示所有请求,包括标题。

编辑 :我一发布,就知道您已经知道如何在浏览器中执行此操作。 尝试Headers属性:

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/en-us/library/system.net.httpwebrequest.headers.aspx

我不知道是否有一个通用的解决方案。 但是,如果您使用的是Firefox,则两个附加组件中的任何一个都将有所帮助:Firebug或LiveHTTPHeaders。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM