Browsermob Proxy - HAR文件不如手动HAR一样完整吗?

时间:2016-04-25 18:40:41

标签: c# selenium browsermob-proxy

所以,下面是我尝试Browsermob Proxy的基本代码,并生成输出。 问题在于输出,其似乎是(1)数量不完整,(2)不像我在Dev工具(Firefox或Chrome)中手动检查网络统计数据那样详细。

是否可以在HAR文件中获得更详细的信息? 我想知道,例如,是否已加载特定的Javascript (或者是否有更好的解决方案?)。

        // Supply the path to the Browsermob Proxy batch file
        Server server = new Server(@"C:\Users\Frederik\Desktop\SeleniumTestje\browsermob-proxy-2.1.0-beta-6\bin\browsermob-proxy.bat");
        server.Start();

        Client client = server.CreateProxy();
        client.NewHar("google");

        var seleniumProxy = new Proxy { HttpProxy = client.SeleniumProxy };
        var profile = new FirefoxProfile();

        profile.SetProxyPreferences(seleniumProxy);
        // Navigate to the page to retrieve performance stats for
        IWebDriver driver = new FirefoxDriver(profile);
        driver.Navigate().GoToUrl("http://www.google.co.uk");

        // Get the performance stats
        HarResult harData = client.GetHar();
        foreach(Entry e in harData.Log.Entries)
        {
            Console.WriteLine(e.Request.Url, e.Request.Headers);
        }

控制台输出:

http://ocsp.digicert.com/
http://ocsp.digicert.com/
http://ocsp.digicert.com/
http://www.google.co.uk/
http://clients1.google.com/ocsp
http://clients1.google.com/ocsp
http://clients1.google.com/ocsp
http://clients1.google.com/ocsp

2 个答案:

答案 0 :(得分:0)

我和Fiddlercore有同样的问题,但我找到了一个解决方案: Fiddlercore - Requested resource URL's are generic (OSCP-related) instead of actual resource

答案 1 :(得分:0)

我也遇到了这个问题。最终,它成为Chrome的网络工具默认情况下启用了自己的缓存,因此BrowserMobProxy无法识别所有请求。

要修复自动.har使其与手动版本相同,请选择网络工具中的“禁用缓存”复选框。此处更多信息:Disabling Chrome cache for website development