有没有办法配置Fiddler来拦截来自Windows服务的HTTP调用?

Mik*_*ess 19 c# fiddler

我们正在替换使用VS2005构建的旧(5年以上)Windows服务应用程序,该应用程序进行HTTP GET调用.有几件事情使这很困难(例如网络服务器在客户的网络上,我们无法直接连接到它),不幸的是,我们不想取消正在运行的系统来用WinForm取代它Fiddler可以监控的版本.新代码似乎正在正确地执行所有操作,但是,唉,它无法进行身份验证.

有没有办法配置Fiddler(2.2.9.1)来拦截来自Windows服务的HTTP调用?

Mik*_*ess 36

Codeka提供了一条线索,让我朝着正确的方向前进.仍然缺少的部分是如何配置代理.在<appname>.exe.config有像添加之后的部分需要:

<system.net>
        <defaultProxy enabled="true">
                <proxy proxyaddress="http://127.0.0.1:8888" bypassonlocal="False"/>
        </defaultProxy>
</system.net>
Run Code Online (Sandbox Code Playgroud)

完成此操作后,Windows服务的http流量开始流经Fiddler.

  • FWIW,它与“Windows 服务”无关,而与您的服务是用 .NET 编写的这一事实有关。:-) (2认同)

Dea*_*ing 5

Fiddler只是充当HTTP代理,因此如果您可以在服务中配置代理,那么您可以将其配置为通过Fiddler.是否可能很难说......

如果这不起作用,您可以通过在第二台计算机上运行Fiddler并将其配置为在端口80上侦听来执行此操作.然后在"测试"计算机上编辑主机文件,使其指向第二台计算机.所以说Web服务在www.example.com上,你设置你的测试服务器,以便"www.example.com"指向你的第二台计算机(运行Fiddler).然后,当服务连接到"www.example.com"时,它实际上将连接到Fiddler.然后,Fiddler会在记录请求/响应后将连接转发到真实的 www.example.com.

我没有测试过上面的内容,但我认为它会起作用.显然,如果您可以在服务中配置更容易的代理设置!