Analizar una URL
La clase URL proporciona varios métodos que permiten preguntar a los objetos URL. Puede obtener
el protocolo, nombre de host, número de puerto, y nombre de fichero de una URL utilizando estos
métodos accesores.
- getProtocol()
- Devuelve el componente identificador de protocolo de la URL.
- getHost()
- Devuelve el componente nombre del host de la URL.
- getPort()
- Devuelve el componente número del puerto de la URL. Este método devuelve un entero que es el número de puerto. Si el puerto no está selccionado, devuelve -1.
- getFile()
- Devuelve el componente nombre de fichero de la URL.
- getRef()
- Obtiene el componente referencia de la URL.
|
Nota:
Recuerda que no todas las direcciones URL contienen estos componentes. La clase URL proporciona
estos métodos porque las URLs de HTTP contienen estos componentes y quizás son las URLs más
utilizadas. La clase URL está centrada de alguna forma sobre HTTP.
|
Se pueden utilizar estos métodos getXXX() para
obtener información sobre la URL sin importar el constructor que se haya utilizado para crear
el objeto URL.
La clase URL, junto con estos métodos accesores, libera de tener que analizar la URL de nuevo!
Dando a cualquier cadena la especificación de una URL, y sólo creando un nuevo objeto URL y
llamanado a uno de sus métodos accesores para la información que se necesite. Este pequeño
programa de ejemplo crea una URL partiendo de una especificación y luego utiliza los métodos
accesores del objeto URL para analizar la URL.
import java.net.*;
import java.io.*;
class ParseURL {
public static void main(String[] args) {
URL aURL = null;
try {
aURL = new URL("http://java.sun.com:80/tutorial/intro.html#DOWNLOADING");
System.out.println("protocol = " + aURL.getProtocol());
System.out.println("host = " + aURL.getHost());
System.out.println("filename = " + aURL.getFile());
System.out.println("port = " + aURL.getPort());
System.out.println("ref = " + aURL.getRef());
} catch (MalformedURLException e) {
System.out.println("MalformedURLException: " + e);
}
}
}
Aquí tienes la salida mostrada por el programa:
protocol = http
host = java.sun.com
filename = /tutorial/intro.html
port = 80
ref = DOWNLOADING