3

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;
  }
 });
user217631
  • 1,278
  • 5
  • 18
  • 33

1 Answers1

3

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.

Alexander Egger
  • 5,132
  • 1
  • 28
  • 42