htmlunit Socks 代理无法使用 HTTPS

Posted

技术标签:

【中文标题】htmlunit Socks 代理无法使用 HTTPS【英文标题】:htmlunit Socks Proxy not working with HTTPS 【发布时间】:2012-10-31 19:43:16 【问题描述】:

我遇到了与 Is it possible to use HTTPS proxy in htmlunit? 类似的问题,但我使用的是 httpunit 2.10 版。上一篇文章是在 2.10 发布的时候(changelog,所以我不知道从那时起是否有任何变化。

具体来说,这段代码:

WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6);
ProxyConfig proxyConfig = new ProxyConfig("localhost",8080);
proxyConfig.setSocksProxy(true);
webClient.setProxyConfig(proxy);
webClient.addRequestHeader("referer", "http://www.google.com");
webClient.setThrowExceptionOnScriptError(false);
webClient.setCssEnabled(false);
webClient.setjavascriptEnabled(false);
HtmlPage page = webClient.getPage("https://somewebsite");

如果我没有在 8080 上运行代理,这应该工作,但它确实连接,只是不通过代理。相反,当代理未运行时,它会崩溃:

HtmlPage page = webClient.getPage("http://somewebsite"); //not https

这还是htmlunit的不足吗?是否有一个好的解决方法或技巧可以让 socks 代理与 https 一起使用?

【问题讨论】:

【参考方案1】:

这是 2.10 版中存在的错误,现已在 2.11 版中修复

【讨论】:

我没有机会使用代理测试 https,但我什至无法让常规 https 登录与 2.11 一起使用。我会尝试看看这是否是我所做的事情的独特之处。

以上是关于htmlunit Socks 代理无法使用 HTTPS的主要内容,如果未能解决你的问题,请参考以下文章

如何将 SOCKS 与 HtmlUnit 一起使用?

怎么开socks5代理,!

无法通过 SOCKS5 代理服务器连接到互联网

无法连接到 dante socks 5 代理服务器

无法连接到 SOCKS 代理:连接被拒绝:连接

无法通过 perl 中的 socks 代理连接到主机