如何使用HTMLUnit代理服务器?

时间:2015-05-22 16:35:45

标签: java proxy htmlunit

我正在使用HTMLUnit并希望使用代理服务器。我对此并不是很了解,但我认为http://proxylist.hidemyass.com/中列出的其中一台服务器可以正常工作。

这是我的代码:

public class App {

    public static void main(String[] args) throws Exception {
        WebClient webClient = new WebClient(BrowserVersion.FIREFOX_31, "61.234.249.126", 8118);

        HtmlPage page       = webClient.getPage("http://www.google.com");
        webClient.close();

        System.out.println(page.asText());
    }

}

I.P和端口是从这样的列表中随机挑选的 - 就像我和其他几个人一样。

但它最终说它超时了。我想并不是所有的代理服务器都能正常工作,但我已经用十几个地址完成了这项工作,所以我开始怀疑这是我的代码而不是服务器本身的问题。

我这样做了吗?

4 个答案:

答案 0 :(得分:6)

WebClient.getOption()的配置为image

ProxyConfig proxyConfig = new ProxyConfig("myhost", myport);
webClient.getOptions().setProxyConfig(proxyConfig);

答案 1 :(得分:1)

尝试使用System.setProperty()调用或使用命令行选项设置代理设置。

$ java -Dhttp.proxyHost=x.y.z.a -Dhttp.proxyPort=pppp
-Dhttp.nonProxyHosts=”localhost|host.example.com” your_main_class

或使用,System.setProperty(String, String)调用以设置适当的值

答案 2 :(得分:0)

您的代码没有任何问题,连接超时取决于代理服务器的质量,尝试设置(大)超时并且大部分都可以正常工作

webClient.getOptions().setTimeout(15000);

答案 3 :(得分:0)

并非您找到的每个代理都足够快或提供您期望的回复。这是一个框架,允许您在代理列表上使用HtmlUnit,同时验证所使用的代理是否真正有效,结果是您实际预期的结果:https://github.com/subes/invesdwin-webproxy