Contenidos:
- Introducción: Como funciona la comunicación en red.
- Leyendo desde una URL : Hora de conectar y leer de Internet.
- Programar Java para conectar a servidores proxy HTTP.
- A descargar contenido de Internet.
- Cotización en bolsa: Un programa aplicando lo aprendido.
- 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 puerto8080
, debes añadir a tu aplicación los parámetroshttp.proxyHost
yhttp.proxyPort
usandoSystem.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
No hay comentarios:
Publicar un comentario