In the post we’ll show how to leverage auth ptoxy (with login/pass) for JAVA application.
The following code defines Authenticator
class that thru the static method setDefault
sets authentication for a network connection.
import java.net.Authenticator; import java.net.PasswordAuthentication; ... // the `dk.http.auth.tunneling.disabledSchemes` property contains the authentication schemes // that will be disabled when tunneling HTTPS over a proxy with the HTTP CONNECT method System.setProperty("jdk.http.auth.tunneling.disabledSchemes", ""); String host = "<host>"; String port = "<port>"; String user = "<login>"; String password = "<pass>"; System.setProperty("https.proxyHost", host); System.setProperty("https.proxyPort", port); System.setProperty("http.proxyHost", host); System.setProperty("http.proxyPort", port); // The class `Authenticator` represents an object that knows how to obtain authentication for a network connection Authenticator.setDefault( new Authenticator() { @Override // The method `getPasswordAuthentication` is called when password authorization is needed. // Subclasses should override the default implementation, which returns `null` public PasswordAuthentication getPasswordAuthentication() { if (getRequestorType() == RequestorType.PROXY) return new PasswordAuthentication(user, password.toCharArray()); return super.getPasswordAuthentication(); } } );