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

Leave a Reply

Your email address will not be published. Required fields are marked *