Я использую библиотеку proxy-vole для подключения к URL через pac proxy.
Я всегда получаю ошибку аутентификации
java.io.IOException: Невозможно туннелировать через прокси. Прокси-сервер возвращает «HTTP / 1.1 407 прокси-сервер требуется авторизация»
Вот мой код, скажите, пожалуйста, как я могу это исправить
public static void main(String[] args) {
UrlPacScriptSource source = new UrlPacScriptSource("https://d1tzjzeluf7kb7.cloudfront.net/pacs/us-wa.pac");
PacProxySelector proxySelector = new PacProxySelector(source);
ProxySelector.setDefault(proxySelector);
URI home = URI.create("http://www.google.com");
System.out.println("ProxySelector: " + proxySelector);
System.out.println("URI: " + home);
List<Proxy> proxyList = proxySelector.select(home);
if (proxyList != null && !proxyList.isEmpty()) {
for (Proxy proxy : proxyList) {
System.out.println(proxy);
SocketAddress address = proxy.address();
if (address instanceof InetSocketAddress) {
try {
ProxyData proxyData = new ProxyData();
proxyData.setHostName(((InetSocketAddress) address).getHostString());
proxyData.setPort(((InetSocketAddress) address).getPort());
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
if (getRequestorType() == RequestorType.PROXY) {
return new PasswordAuthentication("cucungmatran", "Changeguy1!".toCharArray());
} else {
return super.getPasswordAuthentication();
}
}
});
System.setProperty("http.proxyHost", proxyData.getHostName());
System.setProperty("http.proxyPort", proxyData.getPort()+"");
System.out.println(Jsoup.connect("https://ipinfo.info/html/ip_checker.php").get().select("#Text14 > p > span > a > b").text());
} catch (IOException ex) {
Logger.getLogger(MainApp.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
}