我有一个接受复杂类型的WCF服务并返回一些数据.我想使用Fiddler来查看对服务的传入请求是什么样的.客户端是.net控制台应用程序,它使用服务引用代理.这与Fiddler有关吗?我是这个工具的新手,并且过去只使用它来使用请求构建器发布数据.
Tar*_*lah 145
您需要在web.config中添加它
<system.net>
<defaultProxy>
<proxy bypassonlocal="False" usesystemdefault="True" proxyaddress="http://127.0.0.1:8888" />
</defaultProxy>
</system.net>
Run Code Online (Sandbox Code Playgroud)
这就是全部,但是在关闭fiddler之后不要忘记删除web.config行,因为如果你不这样做就会出错.
参考:http://fiddler2.com/documentation/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy
Fiddler监听出站请求而不是入站请求,因此您无法使用Fiddler监控进入您服务的所有请求.
使用Fiddler最好的是能够查看由控制台应用程序生成的所有请求(假设应用程序生成Web请求而不是使用其他管道).
如果您想要一个功能更强大(但更难以使用)的工具,可以监控所有传入的请求,那么您应该查看WireShark.
编辑
我纠正了.感谢Eric Law发布了将Fiddler配置为反向代理的指示!
刚出现这个问题,对我有用的是使用localhost.fiddler:
<endpoint address="http://localhost.fiddler/test/test.svc"
binding="basicHttpBinding"
bindingConfiguration="customBinding"
contract="test"
name="customBinding"/>
Run Code Online (Sandbox Code Playgroud)
整合几个用例的评论/答案中提到的警告.
大多数情况下,请参阅http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp
在控制台应用程序中,您可能不需要指定proxyaddress:
<proxy bypassonlocal="False" usesystemdefault="True" />
Run Code Online (Sandbox Code Playgroud)在IIS中托管的Web应用程序中,您需要添加proxyaddress:
<proxy bypassonlocal="False" usesystemdefault="True" proxyaddress="http://127.0.0.1:8888" />
Run Code Online (Sandbox Code Playgroud)HttpWebRequest等),它将始终绕过包含的URL的Fiddler代理localhost,因此您必须使用机器名等别名或在"主机"文件中组成内容(这就是为什么类似localhost.fiddler或http://HOSTNAME工作的东西)如果你指定了proxyaddress,如果Fiddler没有打开,你必须从你的配置中删除它,或者你的应用程序发出的任何请求都会抛出异常,例如:
无法建立连接,因为目标计算机主动拒绝它127.0.0.1:8888
| 归档时间: |
|
| 查看次数: |
102162 次 |
| 最近记录: |