我使用的是openjdk。对于端口身份验证,我使用Authenticator,但对于我作为HTTPS的第一个请求,身份验证器不进行身份验证,并抛出错误。通过HTTP连接后,HTTPS工作正常。
我已经尝试设置系统属性、jdk.http.auth.tunneling.disabledSchemes="“和jdk.http.auth.proxying.disabledSchemes="”。
private static void setProxy(String proxyHostName,int proxyport){
proxy=new Proxy(Proxy.Type.HTTP,new InetSocketAddress(proxyHostName,proxyport));
}
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", "");
System.setProperty("jdk.http.auth.proxying.disabledSchemes", "");
Authenticator authenticator = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return (new PasswordAuthentication(username, password.toCharArray()));
}
};
Authenticator.setDefault(authenticator);
}
}发布于 2019-09-11 21:41:31
在.sh文件的java_opts中设置此属性后。它对我来说工作得很好。Orelse任何人想要在他们的java代码中设置就意味着在start方法中设置它。
https://stackoverflow.com/questions/55396670
复制相似问题