0

私はこれまでフィドラーコアを使用したことがありません。しかし、それを私のアプリケーションに初めて使用した後、奇妙な問題が発生しています。私のアプリケーションが実行されているときはいつでも、Webブラウザは正常に動作しています。しかし、それ以外の場合は、すべてエラーページが表示されます。私はフィドラーコアで何か間違ったことをしたことを知っています。ここにコードを送信しています。コードは完全に機能しています。しかし、私のコードには何かがあるので、この問題が発生します。コードを見て、何が間違っているのか教えてください。

    static bool bUpdateTitle = true;
    static Proxy oSecureEndpoint;
    static string sSecureEndpointHostname = "localhost";
    static int iSecureEndpointPort = 1106;

    private void button1_Click(object senderr, EventArgs e)
    {
        List<Fiddler.Session> oAllSessions = new List<Fiddler.Session>();
        Fiddler.FiddlerApplication.OnNotification += delegate(object sender, NotificationEventArgs oNEA) { MessageBox.Show("** NotifyUser: " + oNEA.NotifyString); };

        Fiddler.FiddlerApplication.BeforeRequest += delegate(Fiddler.Session oS)
        {
            oS.bBufferResponse = false;
            Monitor.Enter(oAllSessions);
            oAllSessions.Add(oS);
            Monitor.Exit(oAllSessions);

            if (oS.hostname=="localhost")
            {
                oS.utilCreateResponseAndBypassServer();
                oS.oResponse.headers.HTTPResponseStatus = "200 Ok";
                oS.oResponse["Content-Type"] = "text/html; charset=UTF-8";
                oS.oResponse["Cache-Control"] = "private, max-age=0";
                oS.utilSetResponseBody("<html><body><font size=10>Restricted</font></body></html>");
            }
        };
        Fiddler.CONFIG.IgnoreServerCertErrors = false;
        FiddlerApplication.Prefs.SetBoolPref("fiddler.network.streaming.abortifclientaborts", true);
        FiddlerCoreStartupFlags oFCSF = FiddlerCoreStartupFlags.Default;
        Fiddler.FiddlerApplication.Startup(0, oFCSF);
        oSecureEndpoint = FiddlerApplication.CreateProxyEndpoint(iSecureEndpointPort, true, sSecureEndpointHostname);
    }
    public static void DoQuit()
    {
        if (null != oSecureEndpoint) oSecureEndpoint.Dispose();
        Fiddler.FiddlerApplication.Shutdown();
    }

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        DoQuit();
    }
4

1 に答える 1

1

Fiddlerディスカッショングループに残された同じメッセージへの応答で述べたように、これは、Shutdown()を適切に呼び出さずに(たとえば、クラッシュしたために)プログラムを少なくとも1回実行したことを意味します。プログラムが実行されていないときに、[ツール]>[インターネットオプション]>[接続]>[LAN設定]から誤ったプロキシ設定をクリアします。

于 2012-04-18T13:35:39.150 に答える