39

我在开发 Web 应用程序时使用 IIS7 Express。我需要使用提琴手来调查一个问题,但无法弄清楚如何配置东西,所以我可以获得 HTTP 流。似乎 IIS7 express 只会在 localhost 上侦听,这意味着我无法访问流。

4

4 回答 4

56

这与 IIS7 Express 无关,而与您使用环回流量这一事实无关。

参考:https ://www.fiddlerbook.com/fiddler/help/hookup.asp#Q-LocalTraffic

单击规则 > 自定义规则。

像这样更新您的规则文件:

static function OnBeforeRequest(oSession:Fiddler.Session)
{
    if (oSession.HostnameIs("MYAPP")) { oSession.host = "localhost:portnumber"; }
}

然后,只需http://myapp在浏览器中访问。

或者使用地址http://localhost.fiddler/,Fiddler 将使用主机名localhost而不是转换为 IP 地址。

于 2011-01-16T18:04:21.830 回答
12

Eric 的答案(由 Brett 编辑)的一个有用变体是oSession.port用于构建oSession.host. 有了这个小改动,如果需要在 IIS 上捕获快速流量http://localhost:12345,他们可以使用http://iisexpress:12345. 这将更容易捕获 WebMatrix 和 VS 创建的具有随机端口的站点的流量。我用 IE 和 Firefox 进行了尝试,捕获 IIS Express 流量轻而易举。提琴手摇滚!

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; }
   //...
}
于 2011-01-21T08:45:56.690 回答
5

使用最新版本的 fiddler,您只需要导航到 localhost.fiddler:port。但是,单独这样做并没有帮助我,并且在使用 Windows 身份验证时我仍然被拒绝访问。为了解决这个问题,我发现了这个博客条目: http: //www.parago.de/2013/01/fiddler-and-the-401-unauthorized-error-with-asp-net-web-api-using-integrated- windows-身份验证-wia/

简而言之,创建此密钥:

密钥路径HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\Lsa\MSV1_0

值名称BackConnectionHostNames

值类型REG_MULTI_SZ

字符串值localhost.fiddler

于 2014-03-26T21:13:20.017 回答
0

您可以使用 fiddler 作为客户端和服务器之间的代理。这意味着您启动 fiddler,然后使用 fiddler 的端口而不是通常的端口访问服务器(我认为 fiddler2 的默认端口是 8888)。如果您需要调试服务器“实时”与真实世界的客户端,您可以将 IIS 绑定从 :80 更改为其他内容,并将 fiddler 的代理放在端口 80 上。

编辑:顺便说一句,默认情况下,fiddler2 会更改浏览器上的代理设置,以便它们通过 fiddler 访问所有内容(仅在安装了 fiddler 的机器上)

于 2011-01-16T16:20:48.680 回答