注册为系统代理
本文解释如何将FiddlerCore注册为系统代理。这是一个常见的场景,其中部分或全部系统流量被重定向到FiddlerCore,因此它可以捕获和/或修改它——类似Fiddler所做的。
基本方法
将FiddlerCore注册为系统代理的最简单方法是传递FiddlerCoreStartupSettings
在启动时:
FiddlerCoreStartupSettings startupSettings = new FiddlerCoreStartupSettingsBuilder() .RegisterAsSystemProxy() .Build();FiddlerApplication.Startup (startupSettings);
在FiddlerCoreStartupSettings中有更多影响系统代理设置的基本方法。你可以阅读更多配置/代理设置篇文章。
先进的方法
您可以手动修改代理设置,而不使用基本配置方法。在Telerik中,修改系统连接的代理设置的逻辑是分离的。NetworkConnections组装。
它包含以下主要成员:
INetworkConnectionsDetector
:表示网络连接检测器的基接口。它包含一个单一检测()
方法,该方法应返回一组NetworkConnection
特定类型的实例。NetworkConnection
:基抽象类,允许操作和监视特定网络连接的代理设置。最重要的成员是:GetCurrentProxySettings ()
:返回当前ProxySettings
为了连接。SetProxySettings (ProxySettings)
:设置指定的连接代理设置。ProxySettingsChanged
:更改连接的代理设置时引发的事件。
要手动操作网络连接的代理设置,您可以使用任何内置的检测器,获取NetworkConnection类的实例,并调用它的SetProxySettings
方法,例如:
//检测网络连接:var networkConnections = new WinINetNetworkConnectionsDetector().Detect();//创建适当的代理设置(在这种情况下绕过特定的主机):var proxySettings = new proxySettings (true, "//www.aliitrade.com/docs/");//修改一些网络连接:networkConnections.First().SetProxySettings(proxySettings);//启动:FiddlerApplication。启动(新FiddlerCoreStartupSettingsBuilder () .Build ());
的默认实现INetworkConnectionsDetector
提供:
WinINetNetworkConnectionsDetector
:用于检测Windows专用Windows Internet (WinINET)网络组件的网络连接。RasNetworkConnectionsDetector
: windows RAS网络连接检测器。MacNetworkConnectionsDetector
: mac专用网络连接检测器。LinuxNetworkConnectionsDetector
: linux专用网络连接检测器。
内置的连接检测器是特定于操作系统的,如果在不支持的平台上调用将抛出异常。