Skip to content

4 UrlConnection

UrlConnection

URLConnection es una clase abstracta que actúa como superclase de todas las clases que representan enlaces de comunicación entre la aplicación y una URL, como la clase HttpURLConnection. Un objeto URLConnection permite tanto la lectura como la escritura en el recurso representado por la URL.

En general, el proceso de creación de una conexión con una URL sigue los siguientes pasos:

Algoritmo de conexión a una URL

  1. Se crea el objeto de conexión llamando al método openConnection() de un objeto URL, que retorna un objeto URLConnection.
  2. Se configuran las características de la conexión, para lo que se llaman a determinados métodos del objeto URLConnection.
  3. Se establece la conexión llamando al método connect() del objeto URLConnection.
  4. El recurso representado por la URL pasa a estar disponible, por lo que podemos acceder a sus campos de cabecera o a su contenido.

Para configurar las características de conexión podemos usar el método genérico setRequestProperty(key, value), o alguno de métodos específicos para los campos de encabezado más habituales, como por ejemplo setUseCaches(boolean) o setIfModifiedSince(long).

Para acceder a los campos de encabezado podemos usar el método genérico getHeaderField(key) o los métodos específicos para los campos de encabezado más habituales, como getContentEncoding(), getContentType(), etc.

Para acceder al contenido podemos usar el método genérico getContent(), que retorna un Object, o usar el input stream proporcionado por el método getInputStream() para leer de él el contenido.

Si lo queremos es enviar datos al recurso representado por la URL, entonces deberemos configurar la conexión para que sea posible, usando el método setDoOutput(true), y posteriormente usar el método getOutputStream() para obtener el output stream de salida hacia el recurso, y así escribir en él.