我需要一个支持经过身份验证的socks代理的Java Socket客户端类,java.net.Proxy仅支持整个JVM的一组凭据。我有多个代理,每个代理具有不同的登录。 这是java的代理Authenticator所做的,只有一个登录整个JVM。我怎么有多个?
Authenticator.setDefault(new Authenticator(){ protected PasswordAuthentication getPasswordAuthentication(){ PasswordAuthentication p=new PasswordAuthentication("xxx", "xxx".toCharArray()); return p; } });
答案 0 :(得分:3)
在Authenticator
实施中,您可以要求使用以下身份验证代理:getRequestingHost()
。
根据getRequestingHost()
的值,您可以返回该代理的PasswordAuthentication
。