Как избежать каких-либо исключений SSLE с HtmlUnit при использовании прокси Socks? - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь использовать 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 в командной строке работает нормально.

Кто-нибудь сталкивался с такой проблемой раньше или кто-нибудь знает, как это исправить?

...