Normalmente, cuando tenemos una URL lo que hacemos es ponerla en un navegador para ver su contenido. Pero hay muchos programas que se dedican a analizar el código fuente de las páginas. Ya sean buscadores, optimizadores de código, validadores,…
En este segundo caso necesitaremos de un código que abra una conexión y examine su código, en vez de mostrarlo por pantalla. En nuestro caso vamos a utilizar el lenguaje Java para llevar a cabo nuestro cometido.
Lo primero es tener una URL. Para ello nos apoyamos en la clase URL, que nos validará si el texto introducido es realmente una URL bien formada (con su protocolo, su nombre de servidor,…)
URL url = new URL("http://www.lineadecodigo.com");
Su por cualquier motivo insertásemos otro texto que no fuese una URL, acabaríamos teniendo una MalformedURLException.
Una vez creado el objeto URL deberemos de abrir un InputStream sobre el para poder leer la información que contiene. Como si fuese cualquier otro origen de datos. En este caso una dirección web.
try {
// Volcamos lo recibido al buffer
in = new BufferedReader(new InputStreamReader(url.openStream()));
} catch(Throwable t){}
Este InputStream lo manejaremos con un BufferedReader, el cual nos facilitará en sobre manera la lectura del contenido.
Sobre este BufferedReaderr iremos leyendo línea por línea mientras que el contenido de lo leído sea diferente de null. Controlaremos de la misma forma que no se produzcan excepciones, IOException.
while ((inputLine = in.readLine()) != null) {
inputText = inputText + inputLine;
}
El contenido leído lo podemos almacenar en un String que mostraremos posteriormente por pantalla. Al final solo quedará cerrar el stream.