Я пытаюсь использовать HtmlUnit для загрузки контента с разных сайтов. Поскольку я не хочу, чтобы мой IP-адрес блокировался, я подумал, что было бы неплохо использовать сеть TOR для вызовов http. Но для некоторых веб-сайтов все, что я могу получить, это исключения, такие как javax. net .ssl.SSLHandshakeException или javax. net .ssl.SSLException. (следы стека могут быть добавлены, если вы sh).
Мой код в основном выглядит так:
private static WebClient getClient() {
WebClient client = new WebClient();
client.getOptions().setCssEnabled(false);
client.getOptions().setJavaScriptEnabled(false);
client.getOptions().setUseInsecureSSL(true);
client.getOptions().setThrowExceptionOnScriptError(false);
client.getOptions().setThrowExceptionOnFailingStatusCode(false);
client.getOptions().setProxyConfig(new ProxyConfig("localhost", 9050, true));
return client;
}
public static void main(String args[]) throws IOException {
WebClient client = getClient();
String url = "https://www.test.de";
HtmlPage page = (HtmlPage)client.getPage(url); // throws SSLHandshakeException
String html = page.asXml();
System.out.println(html);
}
Все отлично работает без строки client.getOptions().setProxy...
.
с использованием curl --socks5-hostname localhost:9050 https://www.test.de
в командной строке работает нормально.
Кто-нибудь сталкивался с такой проблемой раньше или кто-нибудь знает, как это исправить?