IE7/8下 Fiddler 无法本地调试的问题

首先这个问题不是个BUG,官方是有解释的,是说IE和.NET 框架对于本地请求是不走代理的,因而Fiddler无法检测数据。

解决方案:

  1. 使用机器名代替localhost或者12.7.0.1,例如,你之前使用http://localhost:8081/mytestpage.aspx来访问,那换成 http://machinename:8081/mytestpage.aspx来访问。
  2. 使用http://ipv4.fiddler来访问IPV4适配器上的localhost,使用http://ipv6.fiddler来访问IPV6适配器上的localhost。
  3. 修改规则,

    更新规则代码(找到OnBeforeRequest并添加):

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

    然后就可以通过http://myapp来访问。

  4. 如果嫌上面那样改代码麻烦的话,最简单的就是直接在URL中的localhost或者127.0.0.1后面加上一个句点符号“.”来访问,即http://localhost.(http://127.0.0.1.)。

总之就是别使用localhost或者127.0.0.1来访问,给它设置个别名用来访问。
-EOF-