Java认证HTTP代理
如何配置用户名和密码以使用Java验证http代理服务器?
我刚刚发现以下配置参数:
http.proxyHost=<proxyAddress>http.proxyPort=<proxyPort>
https.proxyHost=<proxyAddress>
https.proxyPort=<proxyPort>
但是,我的代理服务器需要身份验证。如何配置我的应用程序以使用代理服务器?
回答:
(编辑:正如OP所指出的,java.net.Authenticator
也需要使用a 。为了正确起见,我相应地更新了我的答案。)
(编辑#2:正如另一个答案中指出的那样,在JDK 8中,需要basic
从jdk.http.auth.tunneling.disabledSchemes
属性中删除身份验证方案)
对于身份验证,用于java.net.Authenticator
设置代理的配置并设置系统属性http.proxyUser
和http.proxyPassword
。
final String authUser = "user";final String authPassword = "password";
Authenticator.setDefault(
new Authenticator() {
@Override
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(authUser, authPassword.toCharArray());
}
}
);
System.setProperty("http.proxyUser", authUser);
System.setProperty("http.proxyPassword", authPassword);
System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");
以上是 Java认证HTTP代理 的全部内容, 来源链接: utcz.com/qa/415564.html