Clase de URL en Java con ejemplos

La URL conocida como Localizador Uniforme de Recursos es simplemente una string de texto que identifica todos los recursos en Internet, diciéndonos la dirección del recurso, cómo comunicarnos con él y recuperar algo de él.

URL Class

Componentes de una URL

Una URL puede tener muchas formas. Sin embargo, el más general sigue un sistema de tres componentes como se propone a continuación:

  1. Protocolo: HTTP es el protocolo aquí
  2. Nombre de host: nombre de la máquina en la que vive el recurso.
  3. Nombre de archivo: la ruta de acceso al archivo en la máquina.
  4. Número de puerto: número de puerto al que conectarse (normalmente opcional).

Clase de URL 

La clase URL es la puerta de entrada a cualquiera de los recursos disponibles en Internet. Una URL de clase representa un localizador uniforme de recursos, que es un puntero a un «recurso» en la World Wide Web. Un recurso puede apuntar a un archivo o directorio simple, o puede hacer referencia a un objeto más complicado, como una consulta a una base de datos oa un motor de búsqueda.

Constructores de la clase URL

  1. URL (dirección de string) lanza MalformedURLException: crea un objeto de URL a partir de la string especificada.
  2. URL (protocolo de string, host de string, archivo de string): crea un objeto de URL a partir del protocolo, el host y el nombre de archivo especificados.
  3. URL (protocolo de string, host de string, puerto int, archivo de string): crea un objeto de URL a partir del protocolo, host, puerto y nombre de archivo.
  4. URL (contexto de URL, especificación de string): crea un objeto de URL al analizar la especificación dada en el contexto dado. 
  5. URL (protocolo de string, host de string, puerto int, archivo de string, controlador URLStreamHandler):
    crea un objeto de URL a partir del protocolo, host, número de puerto, archivo y controlador especificados.
  6. URL (contexto de URL, especificación de string, controlador URLStreamHandler):
    crea una URL al analizar la especificación dada con el controlador especificado dentro de un contexto específico.

Métodos importantes utilizados en la clase URL

Método Acción realizada
obtenerautoridad() Devuelve la parte de autoridad de la URL o nula si está vacía
getDefaultPort() Devuelve el puerto predeterminado utilizado
Obtener el archivo() Devuelve el nombre del archivo.
obtenerHost() Devuelve el nombre de host de la URL en formato IPv6
obtenerRuta() Devuelve la ruta de la URL, o nula si está vacía
obtenerPuerto() Devuelve el puerto asociado con el protocolo especificado por la URL
obtenerProtocolo() Devuelve el protocolo utilizado por la URL
getQuery() Devuelve la parte de consulta de la URL. Una consulta es una parte después del ‘?’ en la URL. Siempre que se utilice la lógica para mostrar el resultado, habrá un campo de consulta en la URL. Es similar a consultar una base de datos.
obtenerRef() Devuelve la referencia del objeto URL. Normalmente, la referencia es la parte marcada con un ‘#’ en la URL. Puede ver el ejemplo de trabajo consultando cualquier cosa en Google y viendo la parte después de ‘#’
Enstringr() Como en cualquier clase, toString() devuelve la representación de string del objeto URL dado.

Ejemplo:

Java

// Java program to demonstrate working of URL
  
// Importing required classes
import java.net.MalformedURLException;
import java.net.URL;
  
// Main class
// URL class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
        throws MalformedURLException
    {
  
        // Creating a URL with string representation
        URL url1 = new URL(
            "https://www.google.co.in/?gfe_rd=cr&ei=ptYq"
            + "WK26I4fT8gfth6CACg#q=geeks+for+geeks+java");
  
        // Creating a URL with a protocol,hostname,and path
        URL url2 = new URL("http", "www.geeksforgeeks.org",
                           "/jvm-works-jvm-architecture/");
  
        URL url3 = new URL(
            "https://www.google.co.in/search?"
            + "q=gnu&rlz=1C1CHZL_enIN71"
            + "4IN715&oq=gnu&aqs=chrome..69i57j6"
            + "9i60l5.653j0j7&sourceid=chrome&ie=UTF"
            + "-8#q=geeks+for+geeks+java");
  
        // Printing the string representation of the URL
        System.out.println(url1.toString());
        System.out.println(url2.toString());
        System.out.println();
        System.out.println(
            "Different components of the URL3-");
  
        // Retrieving the protocol for the URL
        System.out.println("Protocol:- "
                           + url3.getProtocol());
  
        // Retrieving the hostname of the url
        System.out.println("Hostname:- " + url3.getHost());
  
        // Retrieving the default port
        System.out.println("Default port:- "
                           + url3.getDefaultPort());
  
        // Retrieving the query part of URL
        System.out.println("Query:- " + url3.getQuery());
  
        // Retrieving the path of URL
        System.out.println("Path:- " + url3.getPath());
  
        // Retrieving the file name
        System.out.println("File:- " + url3.getFile());
  
        // Retrieving the reference
        System.out.println("Reference:- " + url3.getRef());
    }
}

Producción:  

https://www.google.co.in/?gfe_rd=cr&ei=ptYqWK26I4fT8gfth6CACg#q=geeks+for+geeks+java
https://www.geeksforgeeks.org/jvm-works-jvm-architecture/

Different components of the URL3-
Protocol:- https
Hostname:- www.google.co.in
Default port:- 443
Query:- q=gnu&rlz=1C1CHZL_enIN714IN715&oq=gnu&aqs=chrome..69i57j69i60l5.653j0j7&sourceid=chrome&ie=UTF-8
Path:- /search
File:- /search?q=gnu&rlz=1C1CHZL_enIN714IN715&oq=gnu&aqs=chrome..69i57j69i60l5.653j0j7&sourceid=chrome&ie=UTF-8
Reference:- q=geeks+for+geeks+java

Este artículo es una contribución de Rishabh Mahrsee . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente. 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *