3

Selenium Webdriver 2.42.2、browsermob-proxy Beta 9、Windows 7/Firefox

我正在尝试调用 browsermob-proxy API 来捕获 http 网络请求并遵循此示例。但是,我收到以下错误:

The proxy server is refusing connections

Firefox 被配置为使用拒绝连接的代理服务器。

Check the proxy settings to make sure that they are correct.
Contact your network administrator to make sure the proxy server is working.

任何人都知道这是否可能是网络问题,我们不在我们的网络中使用代理服务器。我还运行了 browsermob-proxy.bat -port 9090 来启动服务器。以下是我尝试过的代码示例:

public void setDriver(String browser,String environment,String platform) throws Exception {
ProxyServer server = null;

// start the proxy
server = new ProxyServer(9091);
server.start();
server.setCaptureHeaders(true);
server.setCaptureContent(true);

// set the Selenium proxy object
Proxy proxy = server.seleniumProxy();
//Proxy proxy = new Proxy();
//proxy.setHttpProxy("localhost:9091");

caps = DesiredCapabilities.firefox();
caps.setCapability(CapabilityType.PROXY,proxy);

server.newHar("test");

public void closeDriver() throws Exception {
Har har = server.getHar(); // browserMob proxy

FileOutputStream fos = new FileOutputStream("C:/Downloads/browserMob.har");
har.writeTo(fos); // browserMob proxy
server.cleanup(); // browserMob proxy
server.stop(); // browserMob proxy

this.driver.quit();
4

2 回答 2

1

有 2 个变种: 1) Browsermob 代理服务器没有启动;2) 代理服务器启动参数错误;

如果您有第二个问题,请尝试以下代码:

                server = new ProxyServer(9091);     
                server.setLocalHost(InetAddress.getByName("localhost"));
                server.start();
                server.setCaptureContent(true);
                server.setCaptureHeaders(true);
于 2014-08-19T11:52:49.710 回答
0

如上所述,但有几点想法:

  1. 尝试使用 Firefox 配置文件:如此处
    所述:Webdriver and proxy server for firefox

  2. 尝试通过以下方式添加地址参数:InetAddress.getLocalHost()

  3. 确保端口已打开。

于 2016-05-14T02:05:24.880 回答