我们正在替换使用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.
Fiddler只是充当HTTP代理,因此如果您可以在服务中配置代理,那么您可以将其配置为通过Fiddler.是否可能很难说......
如果这不起作用,您可以通过在第二台计算机上运行Fiddler并将其配置为在端口80上侦听来执行此操作.然后在"测试"计算机上编辑主机文件,使其指向第二台计算机.所以说Web服务在www.example.com上,你设置你的测试服务器,以便"www.example.com"指向你的第二台计算机(运行Fiddler).然后,当服务连接到"www.example.com"时,它实际上将连接到Fiddler.然后,Fiddler会在记录请求/响应后将连接转发到真实的 www.example.com.
我没有测试过上面的内容,但我认为它会起作用.显然,如果您可以在服务中配置更容易的代理设置!