1

我正在尝试使用 BrowserMobProxy 拦截 Webdriver 发出的请求。

但是下面的代码不起作用..它无法打开网站 google.com。

它说“Internet Explorer 无法打开该站点”

    proxyServer = new ProxyServer(9101);
    proxyServer.start();

    proxyServer.setCaptureHeaders(true);
    proxyServer.setCaptureContent(true);

    proxyServer.addRequestInterceptor(new RequestInterceptor() {
        @Override
        public void process(BrowserMobHttpRequest request, Har har) {
            System.out.println("From Process method");
        }
    });

    seleniumProxy = proxy.seleniumProxy();

    seleniumProxy.setHttpProxy("localhost:9101");

    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(CapabilityType.PROXY, seleniumProxy);
    capabilities.setCapability("ie.setProxyByServer", true);

    File file = new File("C:\\path\\IEDriverServer.exe");
    System.setProperty("webdriver.ie.driver", file.getAbsolutePath());

    driver = new InternetExplorerDriver(capabilities);
    driver.get("www.google.com");

尝试从 webdrvover 访问 google.com 时出现以下错误

From Process method Nov 09, 2014 2:07:58 AM net.lightbody.bmp.proxy.util.Log info INFO: java.net.UnknownHostException: www.google.com when requesting http://www.google.com/

4

1 回答 1

2

Browsermob 使用 xbill DNS 而不是常规的 Java/本机 DNS 解析,这可能无法与您的 VPN 配合使用。最新的 browsermob 快照允许您通过将系统属性设置bmp.allowNativeDnsFallback为 true 来启用本机 DNS 回退:

System.setProperty("bmp.allowNativeDnsFallback", "true");
proxyServer = new ProxyServer(9101);
proxyServer.start();

您可以在browsermob github 页面获取最新快照。

于 2014-11-15T20:21:52.153 回答