在fiddler中捕获内部请求调用

use*_*742 4 c# wcf asmx fiddler

我有Web应用程序,并在内部调用WCF和ASMX服务来获取信息.但是,在fildder中,我能够单独看到唯一的web apllication aspx请求,而不是WCF和asmx服务调用.

我如何在Fiddler流量中捕获那些WCF和asmx调用.

如果fiddler没有这个选项,请建议其他一些工具.

Eri*_*Law 9

默认情况下,Fiddler作为代理服务器运行,它捕获通过它传递的流量.

当您在客户端上运行Fiddler时,您的浏览器会在前往服务器的途中通过Fiddler传递请求.如果您的客户端和服务器位于同一台PC上,由于.NET Framework中的硬编码限制,流量会被发送到localhost127.0.0.1可能绕过Fiddler(浏览器没有此问题).

为了解决这个问题,你可以更新.NET代码打的一个别名localhost那个提琴手支持,即:localhost.fiddleripv4.fiddleripv6.fiddler.

如果Fiddler正在服务器上运行并且您想要捕获服务器端代码发出的请求(例如来自ASP.NET的出站请求),那么您需要配置ASP.NET应用程序以将其流量发送到Fiddler.这是因为,当Fiddler运行时,它会将当前用户配置为将其流量发送给Fiddler,但ASP.NET在Windows服务帐户内运行,而不是在当前用户的帐户内运行.有几种方法可以捕获从ASP.NET内部发出的请求,但是这篇博文总结了最简单的方法.更新相应的machine.config(通常是64位版本的文件)以包含该行

<proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />

现在,如果提琴手运行在不同的服务器上,那么你就必须配置代理服务器设置为指向任何机器提琴手运行上,如

<proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://MyFiddlerServer:8888" usesystemdefault="false" />