Usar un proxy con HttpClient
Hola amigos,
Acá una pequeña sugerencia de uso de la clase HttpClient (Jakarta Commons HttpClient) con un proxy server.
HttpClient client = new HttpClient(); client.getHostConfiguration().setProxy("192.168.1.55",80); GetMethod get = new GetMethod("http://www.someserver.net/somecustomerservice/someaction.do"); client.executeMethod(get); InputStream inputStream = get.getResponseBodyAsStream(); get.releaseConnection(); |
HttpClient, se encarga de realizar o ejecutar la llamada http. Esta puede ser GET (GetMethod), POST(PostMethod), etc. La ejecución de la llamada ser la realiza mediante el método executeMethod(). Es aconsejable no olvidar llamar al método releaseConnection() una vez ejecutada la llamada.
HostConfiguration, maneja información respectiva para una conexión http, tal como: host remoto, protocolo, puerto, proxy, etc. Como verán en el en este caso estoy asignado el IP del servidor proxy y puerto.
GetMethod, representa una llamada HTTP GET. También esta clase te permite obtener el resultado de llamada http.
Follow me on twitter
Disculpa… estoy tierno en Java… pero si entendi tu post…solo que no le encuentro aplicacion (sera por lo mismo de la limitante de mis conocimientos)quisiera que explicaras una aplicacion practica de tu ejemplo.
Gracias.
Hola Neko,
Bueno sabes justo este ejemplo lo desarrolle por una necesidad.
Resulta que yo trabajo en una empresa de desarrolla de software, algunas veces los clientes nos dan acceso a su red. Lo cual paso. Pero ellos solo dan acceso al IP de nuestra oficina. Lo cual esta bien. por que el cliente no puede compartir su información al publico.
Entonces por cosas de que tuve que hacer algunas cosas el fin de semana desde mi casa, tuve que utilizar el método que explico en este articulo, por que el ip de mi casa no tiene acceso a la red de nuestro cliente.
Entonces básicamente hice fue:
1. instalar un HTTP proxy en una maquina de mi trabajo. En mi caso use el modulo mod_proxy de el Apache HTTP Server
.
2. Utilizando la característica mencionada en este articulo al final mi aplicación lo que hizo fue conectarse primero a mi trabajo y luego de mi trabajo a la red del cliente.
Información adicional de un proxy lo puede encontrar en este link: ¿Que es un proxy?, guía para novatos.
Espero te sirva la explicación. Y sigue adelante!!!