【问题标题】:Browsermob: how to accept https trafficBrowsermob:如何接受 https 流量
【发布时间】:2016-02-15 08:45:46
【问题描述】:
我使用 browsermob-proxy-2.1.0-beta-4-bin,当我创建实例时,我只能查看基于 HTTP 的站点。有没有办法查看 HTTPS 站点?
【问题讨论】:
-
你找到解决办法了吗?我也在尝试解决这个问题,但无法通过 browsermob 获取 https 流量 - 使用最新的 BMP 版本 2.1.4 和 selenium webdriver - 3.0.1 .. 对于 https 连接 - 浏览器不会打开 url 并给出此响应 -无法访问此站点 - 位于 xxxx.com 的网页可能暂时关闭或已永久移至新网址。ERR_TUNNEL_CONNECTION_FAILED
标签:
https
browsermob
browsermob-proxy
【解决方案1】:
Browsermob Proxy 的 2.1.0-beta-4 版本绝对支持 https。我现在正在使用它与自动浏览器测试集成。我能够通过代理发送 https 流量,使用请求/响应处理程序捕获所述流量,并且当我转储它们时它们会出现在 HAR 文件中。
如果您想要更具体的答案,您需要提供有关您正在做什么的更多详细信息。什么浏览器?你如何使用它?您是否无法将网页获取到浏览器,或者只是无法捕获代理中的流量?您的浏览器可以在没有代理的情况下直接连接到 https 站点吗?您是否收到超时错误?
如果您手动将浏览器配置为通过独立版本的 Browsermob 代理进行代理,并且页面请求失败,则可能是您的安全流量没有通过代理,或者您的浏览器被吓坏了关于代理扮演中间人。或者可能有防火墙干扰到达 https 站点的代理。
【解决方案2】:
@Brian S.
我也面临同样的问题。
让我回答你上面问的问题..
1. 我正在使用 Chrome 浏览器。
2.
proxy = new BrowserMobProxyServer();
proxy.start(0);
Proxy seleniumProxy = ClientUtil.createSeleniumProxy(proxy);
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, seleniumProxy);
capabilities.setCapability(CapabilityType.PROXY, seleniumProxy);
System.setProperty("webdriver.chrome.driver", "chromedriverpath");
driver = new ChromeDriver(capabilities);
proxy.enableHarCaptureTypes(CaptureType.REQUEST_HEADERS, CaptureType.RESPONSE_HEADERS);
proxy.newHar("URL");
driver.manage().window().maximize();
driver.get("URL");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
Robot rb = new Robot();
rb.keyPress(KeyEvent.VK_ENTER);
- 是的,我无法将网页加载到 https 的浏览器中,如果将其更改为 http 页面会加载。
- 是的,我的浏览器无需代理即可直接连接到 https 站点。
- 是的,我收到 https 的此错误 -
无法访问此站点 - URL 处的网页可能暂时关闭或已永久移至新网址。ERR_TUNNEL_CONNECTION_FAILED