FiddlerCore:如何正确使用系统代理?
FiddlerCore: how to use system proxy right?
我想嗅探浏览器的一些 https 流量。我的网络设置使用代理配置 "Use automatic configuration script: 'http://proxyconf-domain.net/'"
现在我的代码如下所示:
FiddlerApplication.AfterSessionComplete += FiddlerApplicationOnAfterSessionComplete;
FiddlerApplication.Startup(8888, FiddlerCoreStartupFlags.Default);
...
private void FiddlerApplicationOnAfterSessionComplete(Session oSession)
{
if (oSession.LocalProcessID == 22228)
{
Console.WriteLine("Chrome Traffic");
}
}
问题: 启动后我的系统代理设置丢失,因此浏览器无法连接到互联网,我必须手动重置它们。但我希望 FiddlerCore 像 Fiddler App 一样工作。
FiddlerCoreStartupFlags.Default 具有 RegisterAsSystemProxy 标志。 Fiddler 应用程序具有相同的设置:
FiddlerSettings
但是 Fiddler 应用程序正在捕获流量并且浏览器保留其代理设置。
我是否必须读取系统代理并在我的代码中为 FiddlerCore 或其他东西设置它?
After Startup my system proxy settings are lost so the browser cannot connect to internet and i have to reset them manually. But i want FiddlerCore to work like the Fiddler App.
这是因为您在程序退出时没有调用Shutdown()
方法。调用 Shutdown()
告诉 FiddlerCore 停止监听指定端口,并且
注销系统代理。例如:
FiddlerApplication.AfterSessionComplete += FiddlerApplicationOnAfterSessionComplete;
FiddlerApplication.Startup(8888, FiddlerCoreStartupFlags.Default);
...
//when your program exits
Fiddler.FiddlerApplication.Shutdown();
...
在许多情况下,您最好直接调用 Fiddler.FiddlerApplication.oProxy.Detach()
。
我想嗅探浏览器的一些 https 流量。我的网络设置使用代理配置 "Use automatic configuration script: 'http://proxyconf-domain.net/'"
现在我的代码如下所示:
FiddlerApplication.AfterSessionComplete += FiddlerApplicationOnAfterSessionComplete;
FiddlerApplication.Startup(8888, FiddlerCoreStartupFlags.Default);
...
private void FiddlerApplicationOnAfterSessionComplete(Session oSession)
{
if (oSession.LocalProcessID == 22228)
{
Console.WriteLine("Chrome Traffic");
}
}
问题: 启动后我的系统代理设置丢失,因此浏览器无法连接到互联网,我必须手动重置它们。但我希望 FiddlerCore 像 Fiddler App 一样工作。
FiddlerCoreStartupFlags.Default 具有 RegisterAsSystemProxy 标志。 Fiddler 应用程序具有相同的设置: FiddlerSettings 但是 Fiddler 应用程序正在捕获流量并且浏览器保留其代理设置。
我是否必须读取系统代理并在我的代码中为 FiddlerCore 或其他东西设置它?
After Startup my system proxy settings are lost so the browser cannot connect to internet and i have to reset them manually. But i want FiddlerCore to work like the Fiddler App.
这是因为您在程序退出时没有调用Shutdown()
方法。调用 Shutdown()
告诉 FiddlerCore 停止监听指定端口,并且
注销系统代理。例如:
FiddlerApplication.AfterSessionComplete += FiddlerApplicationOnAfterSessionComplete;
FiddlerApplication.Startup(8888, FiddlerCoreStartupFlags.Default);
...
//when your program exits
Fiddler.FiddlerApplication.Shutdown();
...
在许多情况下,您最好直接调用 Fiddler.FiddlerApplication.oProxy.Detach()
。