我有一个iPhone应用程序,可连接到Azure中的HTTPS服务。我想将iPhone调用通过Fiddler重定向到http://localhost:19703,在其中我在本地计算机上运行相同的服务以进行调试。我可以使用以下Fiddler脚本将HTTPS服务重定向到另一个HTTPS服务。但是,如果我使用相同的脚本重定向到localhost:19703,它将无法正常工作。有任何想法吗?

   if (oSession.HTTPMethodIs("CONNECT") && (oSession.PathAndQuery ==  "XXXX.azurewebsites.net:443"))
    {
        oSession["OriginalHostname"] = oSession.hostname;
        oSession.PathAndQuery =  "YYYY.azurewebsites.net:443";
    }

    // If it's an HTTPS tunnel, override the certificate

    if (oSession.HTTPMethodIs("CONNECT") && (null != oSession["OriginalHostname"]))
    {
        oSession["x-overrideCertCN"] = oSession["OriginalHostname"];
        oSession["X-IgnoreCertCNMismatch"] = "Server's hostname may not match what we're expecting...";
    }
    oSession.bypassGateway = true;

最佳答案

尝试使用这种方法:

static function OnBeforeRequest(oSession:Fiddler.Session) {
    ...
    if (oSession.HostnameIs("YYYY.azurewebsites.net")) {
        oSession.host = "127.0.0.1:19703";
    }
    ...
}

问题的完整描述是here

10-02 18:22