在IIS7 Express上使用Fiddler
我正在开发我的Web应用程序时使用IIS7 Express。 我需要使用提琴手来调查一个问题,并不能弄清楚如何configuration的东西,所以我可以得到HTTPstream。 看来IIS7 express只会在本地主机上侦听,这意味着我无法访问stream。
这与IIS7 Express无关,而且与使用环回stream量的事实无关。
参考: https : //www.fiddlerbook.com/fiddler/help/hookup.asp#Q-本地交通
单击规则>自定义规则。
更新您的规则文件,如下所示:
static function OnBeforeRequest(oSession:Fiddler.Session) { if (oSession.HostnameIs("MYAPP")) { oSession.host = "localhost:portnumber"; } }
然后,在浏览器中访问http://myapp
。
或者使用地址http://localhost.fiddler/
将使用主机名localhost
而不是转换为IP地址。
Eric的答案(由Brett编辑)的一个有用的变体是使用oSession.port
来构buildoSession.host
。 有了这个小改动,如果需要在http://localhost:12345
上捕获IIS expressstream量,他们可以使用http://iisexpress:12345
。 这将更容易捕获由WebMatrix和VS创build的具有随机端口的站点的stream量。 我试用IE和Firefox,捕获IIS Express的stream量是一件轻而易举的事情。 提琴手岩石!
static function OnBeforeRequest(oSession:Fiddler.Session) { //... // workaround the iisexpress limitation // URL http://iisexpress:port can be used for capturing IIS Express traffic if (oSession.HostnameIs("iisexpress")) { oSession.host = "localhost:"+oSession.port; } //... }
使用最新版本的fiddler,只需要导航到localhost.fiddler:port。 但是,单独这样做并不能帮助我,而且在使用Windows身份validation时,我仍然拒绝访问。 为了解决这个问题,我find了这个博客条目: http : //www.parago.de/2013/01/fiddler-and-the-401-unauthorized-error-with-asp-net-web-api-using-integrated- Windows的authenticationWIA /
总之,创build这个关键:
关键path HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0
值名称 BackConnectionHostNames
值types REG_MULTI_SZ
string值 localhost.fiddler
您可以使用提琴手作为您的客户端和服务器之间的代理。 这意味着你启动fiddler,然后使用fiddler的端口而不是通常的端口访问服务器(我认为fiddler2的默认值是8888)。 如果您需要debugging服务器“现场”与真实世界的客户端,您可以将IIS绑定从80更改为其他,并将端口80上的提琴手的代理。
编辑:顺便说一下,默认情况下fiddler2更改您的浏览器上的代理设置,以便他们通过提琴手无论如何访问一切(仅在安装了提琴手的机器上)