我正在尝试集成C#Web浏览器控件和Fiddler Core。我不想让Fiddler Core监听Web浏览器控件而不影响任何Internet Explorer或其他Internet浏览器来做到这一点。

下图应显示我要实现的目标:

Internet Explorer -> Internet
Chrome -> Internet
Other Browsers -> Internet
Web Browser Control (Custom C# App) -> Fiddler Core -> Internet


下面的四个实例应并行运行,而提琴手核心不会干扰其他浏览器。因此,如果我不想在“自定义应用”中更改响应HTML,则不会影响其他浏览器。

我已经在Google上搜索了一段时间,但是我看不到任何具体的示例来帮助我入门。

预先感谢您,任何帮助将不胜感激。

最佳答案

FiddlerCore在每个会话的X-ProcessInfo标志中公开调用过程的信息。

默认情况下,FiddlerCore将注册为系统代理,并且大多数应用程序将通过该代理自动路由其流量。

如果您只想捕获单个应用程序的流量,则步骤为:


调用.Startup时不要注册为系统代理。
目标应用程序的代理设置必须指向FiddlerCore的端口。


现在,#1变得微不足道,但是#2变得更困难,并且完全取决于目标应用程序使用什么网络代码。您提到目标应用程序是一个托管.NET Web浏览器控件(只是IE)的自定义C#应用程序。如果是这样,并且如果应用程序还托管FiddlerCore,则只需调用

Fiddler.URLMonInterop.SetProxyInProcess("127.0.0.1:8889", String.Empty);

...在您的应用程序内部。

10-07 16:10
查看更多