Web consta de miles de aplicaciones internet que se comunican entre sí todos los días. Estas aplicaciones suelen comunicarse a través de HTTP (Protocolo de transferencia de hipertexto). HTTP es un protocolo de capa de aplicación que permite que las aplicaciones internet transfieran datos entre sí (es decir, se comuniquen). HTTP generalmente sigue un Servidor de cliente arquitectura. El cliente inicia la comunicación con un servidor enviando un HTTP pedido. El servidor luego responde con un HTTP respuesta.
En este tutorial de programación, los desarrolladores aprenderán cómo crear un cliente Java HTTP easy para comunicarse con un servidor HTTP utilizando el lenguaje de programación Java.
Leer: Los mejores cursos y paquetes de capacitación en línea de Java
¿Qué son los mensajes HTTP en Java?
En Java, hay dos tipos de mensajes HTTP: peticiones y respuestas.
Solicitudes Java HTTP
Las solicitudes HTTP generalmente constan de cuatro partes: una línea de salida, Encabezado HTTPa linea en blancoy el cuerpo. La línea de inicio y el encabezado HTTP se conocen colectivamente como el cabeza.
Línea de salida
La línea de inicio en una solicitud HTTP especifica el método HTTP, destino de la solicitud (URL a la que se accederá) y la versión de HTTP que se utilizará durante la comunicación. Un método HTTP es un comando (como CONSEGUIR, CORREOo CABEZA) que outline cómo su cliente va a interactuar con un recurso determinado en un servidor.
Actualmente hay dos versiones de HTTP que puede usar: 1.1 o 2. El valor predeterminado es HTTP/1.1.
Encabezado HTTP (opcional)
El encabezado HTTP es un encabezado:valor par que puede definir ciertas propiedades que se relacionan con el cliente o el servidor. Estas propiedades pueden incluir elementos como el agente de usuario (navegador en uso), el proxy, el tipo de contenido o la conexión.
Cuerpo (también conocido como carga útil)
El cuerpo es opcional y depende del tipo de solicitud. Por ejemplo, CONSEGUIR y BORRAR tipos de solicitud no necesitan un cuerpo ya que no llevan nada carga útil al servidor La carga útil es, idealmente, un archivo que se transfiere.
Respuesta HTTP de Java
Las respuestas Java HTTP constan de tres partes: línea de estado, encabezamientoy un cuerpo.
- Línea de estado: Este consiste en la versión del protocolo HTTP, código de estadoy un texto de estado. Un código de estado es un número que describe el éxito o el fracaso de la solicitud. Un texto de estado es un mensaje breve y legible por humanos que describe el estado de la respuesta.
- Encabezamiento: Los encabezados son como los descritos en las solicitudes HTTP.
- Cuerpo: El cuerpo es opcional, según el tipo de mensaje.
Leer: Herramientas Java para aumentar la productividad
Cómo usar la clase HttpClient de Java
Java proporciona la Cliente Http Class, que los programadores pueden usar para crear un cliente. Aquí está la sintaxis para usar Cliente Http en Java:
HttpClient shopper = HttpClient.newHttpClient();
En el ejemplo de código anterior, el nuevoHttpClient() El método permite a los desarrolladores crear un cliente HTTP con las configuraciones predeterminadas.
A continuación, debe utilizar el nuevoConstructor() método para construir una solicitud. Como mínimo, debe proporcionar la URI de su recurso solicitado y el método de solicitud. El valor predeterminado es CONSEGUIR(). Por lo tanto, si no indica uno, CONSEGUIR se utilizará.
HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://openjdk.org/teams/internet/httpclient/recipes.html")) .GET() .construct();
Después de crear su solicitud, debe enviarla y obtener una respuesta:
HttpResponse response = shopper.ship(request, HttpResponse.BodyHandlers.ofString());
El siguiente código de ejemplo muestra cómo los programadores pueden enviar una solicitud a desarrollador.com y luego guárdelo en un archivo HTML usando Java y Cliente Http:
import java.internet.http.*; import java.internet.*; import java.io.*; public class HttpClientApp { public static void essential(String() args) throws IOException, InterruptedException { HttpClient shopper = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://www.developer.com/")) .GET() .construct(); HttpResponse response = shopper.ship(request, HttpResponse.BodyHandlers.ofString()); File fileObj = new File("developer.html"); fileObj.createNewFile(); FileWriter fileWriterObj = new FileWriter("developer.html"); fileWriterObj.write(response.physique()); } }
Puede abrir este archivo (desarrollador.html) desde su navegador para ver su contenido.
Reflexiones finales sobre los clientes HTTP de Java
La internet está llena de muchas aplicaciones que usan protocolos HTTP. Un buen ejemplo es su navegador internet (el que está utilizando para acceder a este sitio). Su navegador internet es un cliente HTTP que se comunica con un servidor internet que le sirve una página internet. Este tutorial de programación Java mostró cómo construir su propio cliente HTTP en Java para acceder al contenido de una página internet.