viernes, 18 de abril de 2014

Programación de Red - JAVA ( 3. Conectarse a través de servidores proxy HTTP )

Contenidos:

  1. Introducción: Como funciona la comunicación en red.
  2. Leyendo desde una URL : Hora de conectar y leer de Internet.
  3. Programar Java para conectar a servidores proxy HTTP.
  4. A descargar contenido de Internet.
  5. Cotización en bolsa: Un programa aplicando lo aprendido.
  6. Programación de sockets: Más allá de los protocolos estándar.

3. Programar Java para conectar a servidores proxy HTTP



Imaginemos una intranet ( red interna ) de una empresa X que ha instalado un firewall; los empleados como consecuencia de la buena configuración del cortafuegos han perdido la salida a internet e incluso algunos departamentos solo tienen acceso a su propia red interna y no a otras intranets de la empresa. Para que los empleados puedan acceder a Internet se hace uso de los servidores proxy HTTP.

En los navegadores más comunes podemos ver si está protegido por un cortafuegos y los parámetros del servidor proxy en la ficha de opciones avanzadas en el menú Configuración o Preferencias.

Las webs hechas con tecnología Java pueden contener applets que los navegadores utilizan para lanzar solicitudes a servidores remotos a través del firewall; estos applets contiene los parámetros de los servidores proxy.


  • Las aplicaciones Java deben específicar los parámetros del servidor proxy para poder lanzar solicitudes a través del firewall. Para conectar a un servidor llamado http://proxy.pelusadev.com y escuchando en el puerto 8080, debes añadir a tu aplicación los parámetros http.proxyHost y http.proxyPort usando System.setProperty tal como como estas dos líneas:
          System.setProperty("http.proxyHost","http://proxy.pelusadev.com");
          System.setProperty("http.proxyPort","8080");


  • En Java disponemos de la clase java.net.Proxy, con lo cual nuestro código sería el siguiente:
          Proxy miProxy = new Proxy(Proxy.Type.HTTP, 
                                              new InetSocketAddress("http://proxy.pelusadev.com",8080));
          url = new URL("http://www.google.com");
          urlConn = url.openConnection(miProxy);
  • Finalmente si lo que quieres es ejecutar tu aplicación por consola debes pasar los dos parámetros de la siguiente manera. Esto reemplazaría a System.setProperty
          java -Dhttp.proxyHost=http://proxy.pelusadev.com 
           -Dhttp.proxyPort=8080 LectorWebSite

Siguiente tema:

Programación de Red - JAVA ( 4. A descargar contenido de Internet )..

No hay comentarios:

Publicar un comentario