嗨,亲爱的社区成员, 我是一个初学者,我正在尝试使用凭据设置袜子代理,因此我使用了以下代码。但它不起作用。
proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("myhost.com", 81));
Authenticator.setDefault(new ProxyAuthenticator("aaa","aaa"));
conn = (HttpURLConnection) url.openConnection(proxy);
我遇到错误
java.net.SocketException: SOCKS : authentication failed
我什至尝试了以下代码,但也无法正常工作。
proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("myhost.com", 81));
System.setProperty("java.net.socks.username","aaa");
System.setProperty("java.net.socks.password","aaa");
我尝试将它们结合起来,我尝试使用System.setProperty("socksProxyUser","aaa")
和System.setProperty("socksProxyPassword","aaa")
,但是我仍然遇到相同的错误。有人可以帮我吗?
预先感谢
答案 0 :(得分:1)
尝试进行身份验证时尝试此操作。
public Authenticator getAuth(String user, String password) {
new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return (new PasswordAuthentication(user, password.toCharArray()));
}
};
}
然后,通常初始化您的代理,就像您的操作一样,除了身份验证(导致错误的原因)之外,
Authenticator.setDefault(getAuth(username, password));