我正在尝试集成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);
...在您的应用程序内部。