JSoup - невозможно туннелировать через аутентифицированный прокси - PullRequest
0 голосов
/ 25 июня 2018

У меня проблема с аналогичной проблемой, описанной в Невозможно туннелировать через прокси - Jsoup . Пытаясь соединиться с тестовой страницей, я получаю такое исключение:

Exception in thread "main" java.io.IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 407 Proxy Authentication Required"

Мой класс ProxyAuthenticator:

import java.net.Authenticator;
import java.net.PasswordAuthentication;

public class ProxyAuthenticator extends Authenticator{

private String userName, password;

protected PasswordAuthentication getPasswordAuthentication(){
    return new PasswordAuthentication(userName,password.toCharArray());
}

public ProxyAuthenticator(String userName, String password){
    this.userName = userName;
    this.password = password;
}

и моя конфигурация прокси с примером кода

public static void main(String args[]) throws IOException, InterruptedException {

    Authenticator.setDefault(new ProxyAuthenticator("myUserName@somemail.com", "mySecretPassword"));
    System.setProperty("https.proxyHost", "VPNServerHostname");
    System.setProperty("https.proxyPort", "VPNServerPort");

    Document doc = Jsoup.connect("https://tools.keycdn.com/geo" )
            .timeout(30000)
            .userAgent("Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2")
            .get();

        String ip = doc.select("th:contains(IP) + td").text();
        String isp = doc.select("th:contains(Hostname) + td").text();
        String provider = doc.select("th:contains(Provider) + td").text();
        String country = doc.select("th:contains(Country) + td").text();


        System.out.println("IP: " + ip + "\nHostname: " + isp + "\nProvider: " + provider + "\nCountry: " + country + "\n############################################"+"\n");

}

Не могли бы вы помочь?

...