【问题标题】:BrowserMob not proxying localhost pagesBrowserMob 没有代理本地主机页面
【发布时间】:2015-02-24 19:21:34
【问题描述】:

我正在尝试使用 BrowserMob 通过 Selenium WebDriver 代理页面。当 (Python) 测试用例尝试从 localhost 加载页面时,BrowserMob 无法代理它们。

BrowserMob 是否可以代理连接到本地主机的网络服务器?

【问题讨论】:

    标签: python-2.7 selenium-webdriver browsermob


    【解决方案1】:

    我在使用 Selenium ChromeDriver 时遇到了同样的问题。它没有为 localhost 使用代理。
    将 seleniumProxy 的 noProxy 属性设置为“”解决了这个问题。

    val seleniumProxy = ClientUtil.createSeleniumProxy(this)
    ...
    seleniumProxy.noProxy = "<-loopback>"
    

    查看以下链接了解详情。 https://chromium.googlesource.com/chromium/src/+/master/net/docs/proxy.md#bypass-rule_subtract-implicit-rules

    【讨论】:

      【解决方案2】:

      BrowserMob Proxy 将与 localhost 一起使用,但仅在最新版本 (2.0.0) 中,并且仅在 defining the bmp.allowNativeDnsFallback Java property 运行代理时。我不熟悉 Python 包装器,但它不太可能满足这些条件。

      问题在于 BrowserMob 代理使用的 DNS 解析,它基本上忽略了定义 localhost 的主机文件。如果您在发出请求时使用 127.0.0.1 而不是 localhost,它应该适合您。

      【讨论】:

      • 谢谢。我可以在启动代理时设置该选项: JAVA_OPTS="-Dbmp.allowNativeDnsFallback=true" sh browsermob-proxy
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-09
      • 2015-01-21
      • 1970-01-01
      • 2015-11-24
      • 2013-01-25
      • 2016-09-13
      • 2017-11-22
      相关资源
      最近更新 更多