1 回答
TA贡献1898条经验 获得超8个赞
您的代码不完整,并且您没有指定您使用的 Java 版本,所以我不能肯定地说,但我猜这可能是原因: 自 java-8-update-111 以来无法通过代理隧道。
尝试setProxy()像这样修改您的方法:
private static void setProxy(String proxyHostName, int proxyport, String username, String password){
setProxy(proxyHostName,proxyport);
if (username!=null && password!=null) {
System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");
Authenticator authenticator = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return (new PasswordAuthentication(username, password.toCharArray()));
}
};
Authenticator.setDefault(authenticator);
}
}
或者使用-Djdk.http.auth.tunneling.disabledSchemes=.
有关 Java 中经过身份验证的代理的更多详细信息,可以在此处找到:authenticated http proxy with java。
添加回答
举报