Maison  >  Article  >  Java  >  Envoyer une requête HTTP et gérer la réponse à l'aide de HttpClient dans Java 11

Envoyer une requête HTTP et gérer la réponse à l'aide de HttpClient dans Java 11

PHPz
PHPzoriginal
2023-08-01 11:48:241685parcourir

Titre : Envoyer des requêtes HTTP et gérer les réponses à l'aide de HttpClient dans Java 11

Citation :
Dans les applications Internet modernes, la communication HTTP avec d'autres serveurs est une tâche très courante. Java fournit des outils intégrés qui peuvent nous aider à atteindre cet objectif, le plus récent et recommandé parmi lesquels la classe HttpClient introduite dans Java 11. Cet article expliquera comment utiliser HttpClient dans Java 11 pour envoyer des requêtes HTTP et traiter les réponses, aidant ainsi les lecteurs à mieux comprendre et maîtriser cet outil puissant.

  1. Créer un objet HttpClient
    Pour utiliser la classe HttpClient pour envoyer des requêtes HTTP, vous devez d'abord créer un objet HttpClient. HttpClient est une classe thread-safe qui peut être partagée et réutilisée dans différentes parties de l'application. Voici un exemple de code pour créer un objet HttpClient :
import java.net.http.HttpClient;

public class Main {
    public static void main(String[] args) {
        HttpClient httpClient = HttpClient.newHttpClient();
        
        // TODO: 发送HTTP请求并处理响应
    }
}
  1. Envoi d'une requête GET
    L'envoi d'une requête HTTP GET est l'opération la plus basique, voici un exemple d'envoi d'une requête GET et de traitement de la réponse :
import java.net.URI;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpHeaders;

public class Main {
    public static void main(String[] args) {
        HttpClient httpClient = HttpClient.newHttpClient();
        
        HttpRequest httpRequest = HttpRequest.newBuilder()
            .uri(URI.create("http://api.example.com/data"))
            .GET()
            .build();
        
        try {
            HttpResponse<String> httpResponse = httpClient.send(httpRequest, HttpResponse.BodyHandlers.ofString());
            
            int statusCode = httpResponse.statusCode();
            HttpHeaders headers = httpResponse.headers();
            String body = httpResponse.body();
            
            System.out.println("Response Code: " + statusCode);
            System.out.println("Response Headers: " + headers);
            System.out.println("Response Body: " + body);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
  1. Envoi d'une requête POST
    Sauf Pour envoyer une requête GET, nous pouvons également envoyer une requête POST et transmettre le corps de la requête. Voici un exemple d'envoi d'une requête POST et de gestion de la réponse :
import java.net.URI;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpHeaders;
import java.net.http.HttpRequest.BodyPublishers;

public class Main {
    public static void main(String[] args) {
        HttpClient httpClient = HttpClient.newHttpClient();
        
        String requestBody = "username=admin&password=123456";
        
        HttpRequest httpRequest = HttpRequest.newBuilder()
            .uri(URI.create("http://api.example.com/login"))
            .header("Content-Type", "application/x-www-form-urlencoded")
            .POST(BodyPublishers.ofString(requestBody))
            .build();
        
        try {
            HttpResponse<String> httpResponse = httpClient.send(httpRequest, HttpResponse.BodyHandlers.ofString());
            
            int statusCode = httpResponse.statusCode();
            HttpHeaders headers = httpResponse.headers();
            String body = httpResponse.body();
            
            System.out.println("Response Code: " + statusCode);
            System.out.println("Response Headers: " + headers);
            System.out.println("Response Body: " + body);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Conclusion :
Cet article explique comment envoyer une requête HTTP et gérer la réponse à l'aide de la classe HttpClient en Java 11. Grâce à l'exemple de code, nous pouvons voir que la classe HttpClient fournit une API très concise et pratique pour communiquer avec d'autres serveurs. Les lecteurs peuvent combiner d'autres fonctions de la classe HttpClient pour implémenter un traitement de requêtes et de réponses HTTP plus complexe en fonction de leurs besoins spécifiques. J'espère que cet article pourra aider les lecteurs à mieux apprendre et appliquer la classe HttpClient dans Java 11.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn