【问题标题】:Is it possible to use Fiddler to debug Http traffic issue?是否可以使用 Fiddler 调试 Http 流量问题?
【发布时间】:2010-07-18 12:48:46
【问题描述】:

我正在使用 ASP.Net + .Net 3.5 + VS 2008 + IIS 7.0 + C# 来开发 Web 应用程序。我想使用 Fiddler 来调试(即监视请求和响应 Http 流量)本地流量——即当我在 VSTS 2008 的内置测试 ASP.Net Web 服务器中测试 Web 应用程序时。这可行吗?如果是,如何监控此类流量?例如,在 VSTS 2008 的内置 ASP.Net 测试 Web 应用服务器中,我要监视发送到 http://localhost:1870/Default.aspx 的请求流量的 Url 及其响应(即在 VSTS 2008 中按下 F5 时)。

BTW:我之前觉得Fiddler只能用来监听80端口的Http流量,不知道1870端口能不能监听?

【问题讨论】:

  • 嗨 CraigTP,我不认为这个链接涵盖了我的困惑。如果我遗漏了什么,请纠正我。
  • 正确答案是下面的 D Hoerster。 Fiddler 从不关心服务器使用什么端口。

标签: c# asp.net .net visual-studio-2008 fiddler


【解决方案1】:

你在 localhost 之后尝试过adding a dot 吗?在我的机器上进行的快速测试似乎表明在 IE 中需要这样做,但实际上在 Firefox 中可能不需要。

【讨论】:

  • 嗨 Martin,如果我直接访问 Url,我尝试过该点有效。但是用点url访问页面后,如果我点击一个链接(例如,在代码中url写为“test.aspx”),就会出现错误,因为ASP.Net test serve不知道如何访问localhost。 :1870/test.aspx(只知道如何访问localhost:1870/test.aspx)。任何想法如何解决“点”解决方案中的页面链接问题?
  • 在您的“OnBeforeRequest”解决方案中,对于此语句 - “if(oSession.host == ":")”,我应该更改为“if(oSession.host == "localhost:1870")? 语句“oSession.host=localhost:”的相同问题,我应该将其更改为“oSession.host=localhost:1870”吗?
  • @George - 不,我不需要这样做。对我来说,开发网络服务器可以很好地处理链接。您是否在应用程序中使用绝对 URL?
【解决方案2】:

如果您将 URL 更改为“http://ipv4.fiddler:1870/..”而不是“http://localhost:1870/...”,则 fiddler 将拦截您的流量并显示请求。 Localhost 不会通过 wininet(我相信),然后提琴手会忽略它。 Fiddler 将 ipv4.fiddler 注册为 localhost,以便您可以监控本地流量。

您还可以在您的主机文件中添加一个条目并指向一些 URL(例如 mysite.com 127.0.0.1)并将其用作您的 URL(例如 http://mysite.com:1870/..。),fiddler 也会选择它。

【讨论】:

    【解决方案3】:

    提琴手不会忽略“本地主机”尝试将 url 更改为您的机器主机名。

    【讨论】:

    • 我认为 Cassini 不会接受连接,如果您尝试这样做(它只允许本地连接并且容易混淆!)。
    • Hi Dog Ears,你的意思是我们不能使用 Fiddler 来监控 Cassini 的流量吗?
    • “我认为 Cassini 不会接受连接,如果你尝试这样做”——我认为你的意思是 Cassini 不允许使用主机名,对吗?
    • @George2。是的,这就是我的意思。
    • 使用 ipv4.fiddler:1870 和 fiddler 会捡起它。请参阅下面的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多