如何在.NET中从WebBrowser控件获取响应头?

3
在WebBrowser.Navigate()之后如何检索服务器返回的响应头?
2个回答

1

我认为这是不可能的。一个网页由许多HTTP请求和响应组成。你必须使用HttpWebRequest自己下载HTML。它的Headers属性可以让你访问响应头。


我的意思是针对已知URL的特定请求,而不是整个页面,因为整个页面可能会获取其他资源并发出新的请求,就像你所提到的那样。 - Xaqron
@Xaqron:HttpWebRequest不会解释HTML(如果有的话)并执行多个请求。它只会针对那个已知的URL执行HTTP请求。 - Tamás Szelei
使用“WebClient”已经可以通过“WebResponse.Headers”实现。您也可以通过代理(如Fiddler)手动执行此操作。请求URL并从响应中读取标头。每个请求都有一个唯一的响应。例如,打开www.google.com将产生3个请求: 1)http://www.google.com/ 2)http://clients1.google.com/generate_204 3)http://www.google.com/csi?v=3&s=webhp&action=&e=17259... 后两个是从第一个引用的,不是我们感兴趣的。 - Xaqron

1

谢谢您的时间,但我需要一个小型、纯粹的.NET解决方案。 - Xaqron
你好Xaqron,你是如何解决这个问题的?因为我也遇到了同样的问题。 - yo2011
如果您有C#临时可插拔命名空间处理程序的示例代码,请尽快分享。 - yo2011

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接