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