将fiddler与C#应用程序+;ip:端口代理

将fiddler与C#应用程序+;ip:端口代理,c#,tcp,proxy,fiddler,C#,Tcp,Proxy,Fiddler,我正在从事一个涉及使用ip:port代理的项目。我的C#应用程序使用geckofx web浏览器,它允许我指定一个代理来路由流量。我需要能够看到fiddler中的流量,但每当我尝试通过我的C#应用程序的web浏览器(配置了ip:port代理)加载网页时,我在fiddler中看不到任何流量。如果没有代理,我也看不到任何流量 通过chrome这样的浏览器浏览,我可以看到所有经过的流量…我缺少了什么?为什么我不能从我的C#应用程序查看流量?如果你在URL中使用localhost,那么你需要在local

我正在从事一个涉及使用ip:port代理的项目。我的C#应用程序使用geckofx web浏览器,它允许我指定一个代理来路由流量。我需要能够看到fiddler中的流量,但每当我尝试通过我的C#应用程序的web浏览器(配置了ip:port代理)加载网页时,我在fiddler中看不到任何流量。如果没有代理,我也看不到任何流量


通过chrome这样的浏览器浏览,我可以看到所有经过的流量…我缺少了什么?为什么我不能从我的C#应用程序查看流量?

如果你在URL中使用
localhost
,那么你需要在
localhost
的末尾添加一个点(
),如下所示:

http://localhost.:56789/YourPage.aspx

注意:
56789
是一个虚构的端口号,但您需要使用通过Visual Studio运行时自动生成的端口号。

Fiddler是一个代理服务器;它可以查看发送到它的流量。它在启动时将自身注册为默认系统代理,并在关闭时恢复。如果您的应用程序手动指定另一个代理,它不会将其流量发送给Fiddler

要解决这个问题,可以将客户端配置为指向Fiddler并将Fiddler配置为“链”到上游代理,或者将其他代理配置为“链”到Fiddler


执行前者可能最简单:在工具>Fiddler选项中设置上游代理,或者在Fiddler未运行时将其设为IE的默认代理。

没错(.NET绕过本地主机地址的代理)但是,如果他手动为他的应用程序指定代理,这是不够的。埃里克劳说得好,但我确实用“如果…”来警告我的答案Lol如果我需要运行我的C#应用程序的多个实例,每个实例使用不同的ip:port代理怎么办?同样的指导也适用;你可以将这些代理链接到Fiddler。或者,你可以添加一个自定义头(例如,X-Proxy-to:ip:port)让Fiddler检测到该头并在会话上设置X-OverrideGateway标志,然后删除该头。非常感谢您的回复。我只是不明白您所说的“将这些代理链接到Fiddler”是什么意思.对于自定义头,您的意思是从我的C#app添加一个自定义头,然后让fiddler将流量路由到代理?在这种情况下,我是否可以将geckofx代理设置为使用localhost?如果您控制“ip:端口”代理,您可以将它们配置为通过Fiddler实例发送流量。如果您不控制它们,这显然不起作用。对于自定义头路由,是的,您可以从C#应用程序添加一个自定义头,并将其代理设置指向127.0.0.8888,然后在Fiddler中添加代码,在决定从何处发送时查看该头下一步发送流量。现在,如果你不能添加自定义头,那么你让你的应用程序向Fiddler发送一条HTTP消息,上面写着“对于来自此进程的所有后续请求(请参阅X-ProcessInfo),将流量发送到…”