Cambiar configuración de proxy programáticamente desde Java
En ocasiones nos vemos obligados a cambiar la configuración de proxy para acceder desde programas desarrollados en Java a recursos de una red (interna o externa).
Cuando escribo recursos, me refiero desde simples archivos planos, imágenes, o hasta programas como Servlets o CGI’s alojados en servidores. Cuando ocurre esto, tenemos dos alternativas:
1.Establecer en el contexto de ejecución de nuestro programa las variables con las que se cambia la configuración del proxy.
Ejemplo:
java -Dhttp.proxyHost=proxyhostURL
-Dhttp.proxyPort=proxyPortNumber
-Dhttp.proxyUser=someUserName
-Dhttp.proxyPassword=somePassword MiAplicacion
2. Implementándolo desde el código Java dinámicamente así:
import java.net.Authenticator;
import java.net.PasswordAuthentication;
public class ProxyAuthenticator extends Authenticator {
private String user, password;
public ProxyAuthenticator(String user, String password) {
this.user = user;
this.password = password;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, password.toCharArray());
}
}
Authenticator.setDefault(new ProxyAuthenticator("user", "password"));
System.setProperty("http.proxyHost", "proxyHost");
System.setProperty("http.proxyPort", "proxyPort");
De esta manera logramos que se acceda al recurso, pasando por el servidor proxy. :-‘)
No hay comentarios