BrowserMob 不代理本地主机页面
BrowserMob not proxying localhost pages
我正在尝试使用 BrowserMob 来代理带有 Selenium WebDriver 的页面。当 (Python) 测试用例尝试从本地主机加载页面时,BrowserMob 无法代理它们。
BrowserMob 是否可以代理连接到本地主机上的网络服务器?
BrowserMob Proxy 将与 localhost 一起工作,但仅限于最新版本 (2.0.0),并且仅当 defining the bmp.allowNativeDnsFallback Java property 时 运行 代理。我不熟悉 Python 包装器,但它不太可能满足这些条件。
问题是 BrowserMob Proxy 使用的 DNS 解析,它基本上忽略了定义 localhost 的主机文件。如果您在发出请求时使用 127.0.0.1 而不是 localhost,它应该适合您。
我在使用 Selenium ChromeDriver 时遇到了同样的问题。它没有为本地主机使用代理。
将 seleniumProxy 的 noProxy 属性设置为“<-loopback>”解决了这个问题。
val seleniumProxy = ClientUtil.createSeleniumProxy(this)
...
seleniumProxy.noProxy = "<-loopback>"
请查看下方 link 了解详细信息。
https://chromium.googlesource.com/chromium/src/+/master/net/docs/proxy.md#bypass-rule_subtract-implicit-rules
我正在尝试使用 BrowserMob 来代理带有 Selenium WebDriver 的页面。当 (Python) 测试用例尝试从本地主机加载页面时,BrowserMob 无法代理它们。
BrowserMob 是否可以代理连接到本地主机上的网络服务器?
BrowserMob Proxy 将与 localhost 一起工作,但仅限于最新版本 (2.0.0),并且仅当 defining the bmp.allowNativeDnsFallback Java property 时 运行 代理。我不熟悉 Python 包装器,但它不太可能满足这些条件。
问题是 BrowserMob Proxy 使用的 DNS 解析,它基本上忽略了定义 localhost 的主机文件。如果您在发出请求时使用 127.0.0.1 而不是 localhost,它应该适合您。
我在使用 Selenium ChromeDriver 时遇到了同样的问题。它没有为本地主机使用代理。
将 seleniumProxy 的 noProxy 属性设置为“<-loopback>”解决了这个问题。
val seleniumProxy = ClientUtil.createSeleniumProxy(this)
...
seleniumProxy.noProxy = "<-loopback>"
请查看下方 link 了解详细信息。 https://chromium.googlesource.com/chromium/src/+/master/net/docs/proxy.md#bypass-rule_subtract-implicit-rules