从webBrowser控件捕获httpresponse对象

时间:2013-12-09 20:34:44

标签: webbrowser-control httpresponse

我需要在从webBrowser控件发送请求后捕获响应内容。

当我运行httpAnalyzer时,我能够捕获response content中传递回webBrowser控件的一些重要数据(原始数据)。

有什么想法吗?

更多信息: 我有一个使用flash生成报告的内部网站。我能够自动化页面加载并模拟生成报告的按钮单击。当我使用httpAnalyzer时,我能够看到我需要捕获的原始数据;但我不知道如何实际获得响应对象。

1 个答案:

答案 0 :(得分:0)

我使用了FiddlerCore:http://fiddler2.com/fiddlercore

    private void button_click()
    {
        Thread myThread = new Thread(delegate()
        {
            fiddlerRun();
        });
        myThread.Start();
    }

    private void fiddlerRun()
    {
        #region AttachEventListeners
        Fiddler.FiddlerApplication.BeforeResponse += delegate(Fiddler.Session oS)
        {
            String s1 = oS.GetResponseBodyAsString(); // this is where response is catched
            //I know that response must contain specific word - if it is there- catch it!
            if (s1.Contains("License") )
            {
               //do my stuff with response
               //...
               //stop Fiddler
               Fiddler.FiddlerApplication.Shutdown();
               System.Threading.Thread.Sleep(750);
            }
        };
        #endregion AttachEventListeners
        System.Diagnostics.Debug.WriteLine("Starting FiddlerCore...");
        Fiddler.CONFIG.IgnoreServerCertErrors = false;
        try
        {
            Fiddler.FiddlerApplication.Startup(8877, true, true);
        }
        catch { }
    }