WebBrowser 控件和 Wininet API

Posted

技术标签:

【中文标题】WebBrowser 控件和 Wininet API【英文标题】:WebBrowser Control and Wininet APIs 【发布时间】:2011-04-20 10:22:16 【问题描述】:

是否可以从 WebBrowser 控件中获取准确的所有 Http Request Header 和 Http Response Header 详细信息?

还有什么方法可以从 WebBrowser Control 中获取 WinInet 相关的 HINTERNET 句柄?

谢谢, 克里希纳

【问题讨论】:

【参考方案1】:

您可以使用此库监视发送/获取和数据发送/获取的 WebBrowser http 请求:

用于 Web 浏览器控制的 Http 监视器

就在这里 http://www.codeproject.com/KB/shell/HttpMonitor.aspx

它是测试版,但对我有用.. 有演示示例和源代码。 您必须通过 regsvr32 注册他们的 dll 才能进行演示工作

【讨论】:

【参考方案2】:

不,WebBrowser 控件无法做到这一点。

您可以考虑将FiddlerCore 集成到您的应用程序中;这将使您能够完成您正在尝试做的事情。

【讨论】:

我使用过 FiddlerCore,但它会更新所有使用 Internet/Intranet(如 IE、outlook 等)的应用程序的代理设置...我希望 fiddler 核心监控来自我的应用程序中的 webbrowser 控件的请求。我可以使用 FiddlerCore 实现吗? 如果你说:“我希望 FiddlerCore 只从我的应用程序中捕获流量,而不是全部,是的,你可以这样做。不要注册为系统代理,看看方法而是在 URLMon 类中。 我尝试使用 URLMonInterop.SetProxyInProcess("127.0.0.1:8888", ""); Fiddler.FiddlerApplication.Startup(8877, false,false);但无法监控应用程序中 Web 浏览器控制的流量。你能分享一些样品吗?

以上是关于WebBrowser 控件和 Wininet API的主要内容,如果未能解决你的问题,请参考以下文章

获取webbrowser的cookies

WinForm WebBrowser 设置cookie

.Net 中的缓存和 WebBrowser 控件

WebBrowser 控件和 JavaScript 错误

无需重启即可删除 webBrowser 中的 cookie

使用 XPath 和 WebBrowser 控件选择多个节点