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() 的情况下至少运行了一次程序(例如,因为它崩溃了)。当您的程序未运行时,从工具 > Internet 选项 > 连接 > LAN 设置中清除不正确的代理设置。

于 2012-04-18T13:35:39.150 回答