| Red - Swing-Streams-Threads | |
| Inicio | Cursos infosintesis.net liberados | Java SE Avanzado | Navegador que pincha sitios Web | |
| Navegador que pincha sitios Web | |
| Paso 4: Operativa |
Creación de una instancia de tipo java.net .URL y creación del esqueleto de los métodos filtrar...()
Aqui tenemos la Clase VerificadorDatos. Recordemos que el diagrama de Clases de diseño correspondiente al navegador está en la Operativa del Paso 2
Ahora que ya nos hemos bajado la Home page (Página Principal) del Servidor Web Tomcat, es el momento de implementar el método isDatosCorrectos() de la Clase VerificadorDatos. Para ello
if (!filtrarDireccion()) return false; |
Si por ejemplo en vez de escribir http://... escribimos httpp://.. entonces se lanza la excepción y mostramos un cuadro de diálogo modal de información indicando que la sintaxis de la URL en cuestión no es correcta

Compara tu código con la solución propuesta
Quitar el cartón-piedra de la dirección para conexión a través de Modem ![]()
A la variable de instancia direccion le vamos a quitar su valor por defecto. Es decir va a estar declarada, pero no inicializada.
A pesar de que de momento vamos a realizar la conexión a través de un Modem, en el método filtrarDireccion() vamos de todas formas a discernir si vamos a descargarnos la página Web a través de Modem o a través de Proxy
Si en vez de escribir http://localhost:9090 sólo escribimos http:// mostramos un cuadro de diálogo modal de información como el siguiente

Compara tu código con la solución propuesta
Quitar el cartón-piedra del puerto para conexión a través de Modem
A la variable de instancia puerto le vamos a quitar su valor por defecto. Es decir va a estar declarada, pero no inicializada.
A pesar de que de momento vamos a realizar la conexión a través de un Modem, en el método filtrarPuerto() vamos de todas formas a discernir si vamos a descargarnos la página Web a través de Modem o a través de Proxy
Si en vez de escribir http://localhost:9090 escribimos http://localhost:65536/ mostramos un cuadro de diálogo modal de información como el siguiente

Compara tu código con la solución propuesta
Quitar el cartón-piedra del path para conexión a través de Modem
A la variable de instancia path le vamos a quitar su valor por defecto. Es decir va a estar declarada, pero no inicializada.
A pesar de que de momento vamos a realizar la conexión a través de un Modem, en el método filtrarPath() vamos de todas formas a discernir si vamos a descargarnos la página Web a través de Modem o a través de Proxy
Compara tu código con la solución propuesta
Quitar el cartón-piedra del tipo de petición (HEAD o GET)
A la variable de instancia tipoRequest le vamos a quitar su valor por defecto. Es decir va a estar declarada, pero no inicializada.
La variable de instancia tipoRequest tomará como valor "HEAD" o "GET" tanto si vamos a realizar la conexión a través de un Modem o a través de un Proxy.
Si la variable de instancia booleana boolRequest es verdadera, entonces la variable de instancia tipoRequest toma por valor HEAD. En caso contrario toma por valor GET
Como podemos observar, al estar el radio button del panel Request selecionado con HEAD, sólo recibmos el mensaje HTTP de cabecera

Compara tu código con la solución propuesta
Quitar el cartón-piedra del tipo de información (chars o Integers)
A la variable de instancia tipoInformacion le vamos a quitar su valor por defecto. Es decir va a estar declarada, pero no inicializada.
La variable de instanciatipoInformacion tomará como valor "chars" o "integers" tanto si vamos a realizar la conexión a través de un Modem o a través de un Proxy.
Si la variable de instancia booleana boolTipoInformacion es verdadera, entonces la variable de instancia tipoInformacion toma por valor chars. En caso contrario toma por valor integers
Como podemos observar, al estar el radio button del panel Request selecionado con GET y el radio button del panel Información seleccionado con Integers, recibmos tanto el mensaje HTTP de cabecera como el mensaje HTTP de cuerpo. Podemos ver cuando el mensaje HTTP de cabecera termina por la recepción de los siguientes valores ASCII 13101310 seguidos

Compara tu código con la solución propuesta
Quitar el cartón-piedra de la direccion y del path para conexión a través de Modem y Proxy
Un Proxy es un programa que asume tanto funciones de Cliente como de Servidor con el objetivo de realizar peticiones a los Servidores Web en favor de unos Clientes que se han conectado a ellos. Esto suele suceder en las redes de área local donde sólo hay una conexión a Internet y varios puestos de trabajo que acceden a través de esta única conexión.
| Comando | path | protocolo | final cabecera | ||
| GET | http://www.infosintesis.net | HTTP/1.0 | CRLFCRLF | ||
| http://www.yahoo.com | |||||
| http://java.sun.com/j2se/index.jsp |
Como todavía no hemos sustituido el cartón-piedra del puerto para que se pueda hacer una petición a través de Proxy, de momento lo que haremos será volver a inicializar la variable de instancia puerto con el valor 80.
Para conectarnos a través de un Proxy tenemos que chequear el checkbox Usar Servidor Proxy y escribir la dirección IP o el alias del Proxy en el campo de texto Direccion
Nota: Si estamos conectados a Internet a través de Modem, y no tenemos un Proxy local podemos utilizar la siguiente dirección IP 80.59.33.97 para realizar la conexión a través de un Proxy externo
Este es el aspecto que tiene nuestro navegador al descargarnos el mensaje HTTP de cabecera

Compara tu código con la solución propuesta
Quitar el cartón-piedra del puerto para conexión a través de Modem y Proxy
Ahora ya podemos volver a quitar el cartón-piedra del puerto para que podamos hacer peticiones tanto a través de Modem, cómo a través de Proxy
Para conectarnos a través de un Proxy tenemos que chequear el checkbox Usar Servidor Proxy y escribir la dirección IP o el alias del Proxy en el campo de texto Direccion y el puerto en el campo de texto Puerto
Nota: Si estamos conectados a Internet a través de Modem, y no tenemos un Proxy local podemos utilizar la siguiente dirección IP 80.59.33.97 para realizar la conexión a través de un Proxy externo