如何解决如何在不使用全局身份验证的情况下使用 JSOUP 通过基本身份验证代理服务器连接到 HTTPS 网站?
使用 JSOUP 我试图连接到一些使用 HTTPS 协议的站点。这些连接并行发生,并且必须使用不同的代理服务器和不同的身份验证。因此,我不能使用全局身份验证,例如:
Authenticator.setDefault (new Authenticator() {...
关于如何使这项工作有任何想法?
方法一
String proxyCredentials= "usuername:password";
String proxyCredentialsBase64 = new String(Base64.encodeBase64(proxyCredentials.getBytes()));
Connection connection = Jsoup.connect("https://stackoverflow.com/");
connection.header("Proxy-Authorization","Basic " + proxyCredentialsBase64);
connection.proxy("proxyserver.com",2222);
Document doc = connection.get();
错误: java.io.IOException:无法通过代理建立隧道。代理返回“HTTP/1.1 407 需要代理身份验证”
方法 2
Authenticator.setDefault(new Authenticator() {
@Override
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("username","password".toCharArray());
}
});
}
Connection connection = Jsoup.connect("https://stackoverflow.com/");
connection.proxy("proxyserver.com",2222);
Document doc = connection.get();
错误:在第二种情况下,当我们使用多线程时,身份验证信息是全局的并在它们之间混合。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。