Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否从web浏览器控件捕获所有请求和响应?_C#_.net_Wpf_Wpf Controls_Webbrowser Control - Fatal编程技术网

C# 是否从web浏览器控件捕获所有请求和响应?

C# 是否从web浏览器控件捕获所有请求和响应?,c#,.net,wpf,wpf-controls,webbrowser-control,C#,.net,Wpf,Wpf Controls,Webbrowser Control,是否有方法捕获并打印来自web浏览器控件的所有请求和响应,包括异步请求?您是否考虑过使用?他们甚至有一个你可以用来做这个的 编辑 您可以尝试使用或获取响应信息。您可以使用请求获取信息。这些事件可能会发生在异步请求中,但我不确定这一点 编辑会回击 我用上面的事件做了一些测试,但恐怕什么都没有。这些事件没有给我任何我可以利用的东西。尽管他们可以访问webresponse和webrequest,但在我的测试中它们始终为nothing/null 我想悲哀的现实是,web浏览器控件并不是按您想要的方式使用

是否有方法捕获并打印来自web浏览器控件的所有请求和响应,包括异步请求?

您是否考虑过使用?他们甚至有一个你可以用来做这个的

编辑

您可以尝试使用或获取响应信息。您可以使用请求获取信息。这些事件可能会发生在异步请求中,但我不确定这一点

编辑会回击

我用上面的事件做了一些测试,但恐怕什么都没有。这些事件没有给我任何我可以利用的东西。尽管他们可以访问webresponse和webrequest,但在我的测试中它们始终为nothing/null

我想悲哀的现实是,web浏览器控件并不是按您想要的方式使用的。它只用于服务网页/数据,不提供查看数据的权限。我认为他们这样做是为了防止有人制造恶意软件/间谍软件浏览器


最好的办法是将web浏览器与fiddler(或其他一些“嗅探”库)耦合起来。

实现这一点的另一种方法是实现自己的处理程序,但这不是一项简单的任务。基本上,应用程序是Internet Explorer通过URLMON从url下载数据的机制。您可以实现自己的应用程序来替换URLMON使用的默认处理程序,这将允许您控制所有请求和响应

除了替换默认处理程序,您还可以实现一个应用程序来包装它。一个常见的例子是Igor Tandetnik创建的,它展示了如何完成类似的事情。您还可以在这个代码项目中找到一个C#实现。我相信您最感兴趣的接口是,以及允许客户机检查请求和响应头的方法

PassThroughApp中存在一些问题,这些问题都很详细,并提供了可能的解决方案。下面还包括一些资源


我有点希望在web浏览器控件中捕获一些事件。关于“编辑回击”结果,我正要发表评论说同样的话。您认为如何使用WebClient类发出请求,然后使用浏览器控件显示结果。我没有太多时间去体验,但我认为这将是我的下一步。这是可行的,使用NavigateToStream(在webbrowser上)和OpenRead(在webclient上),但我不确定要使用哪些事件。听起来很有趣。