Reputation: 1308
I need a Java Socket client class that supports authenticated socks proxy, java.net.Proxy only supports one set of credentials for the whole JVM. I have multiple proxies each with different logins. here's what java's proxy Authenticator does, only one login for the whole JVM. how do I have multiple?
Authenticator.setDefault(new Authenticator(){ protected PasswordAuthentication getPasswordAuthentication(){ PasswordAuthentication p=new PasswordAuthentication("xxx", "xxx".toCharArray()); return p; } });
Upvotes: 3
Views: 3958
Reputation: 5302
In your Authenticator
implementation you can ask for the proxy the authentication is for using: getRequestingHost()
.
Based on the value of getRequestingHost()
you can return the PasswordAuthentication
for that proxy.
Upvotes: 3