Maison Java javaDidacticiel Utilisez le nouveau client HTTP/2 dans Java 11 pour envoyer des requêtes HTTP et gérer les réponses

Utilisez le nouveau client HTTP/2 dans Java 11 pour envoyer des requêtes HTTP et gérer les réponses

Jul 30, 2023 pm 04:51 PM
java 请求 响应 http/

Utilisez le nouveau client HTTP/2 dans Java 11 pour envoyer des requêtes HTTP et gérer les réponses

  1. Introduction
    Avec la sortie de Java 11, Java a introduit une nouvelle API client HTTP/2 pour remplacer les anciens HttpURLConnection et HttpClient. La nouvelle API offre un moyen plus simple et plus efficace d'envoyer des requêtes HTTP et de gérer les réponses. Dans cet article, nous explorerons la nouvelle API client HTTP/2 dans Java 11, notamment comment envoyer des requêtes GET, des requêtes POST et comment gérer les réponses.
  2. Envoi d'une requête GET
    L'envoi d'une requête GET est l'une des opérations HTTP les plus courantes. Voici un exemple de code pour envoyer une requête GET à l'aide de la nouvelle API client HTTP/2 dans Java 11 :
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class HttpClientExample {
    public static void main(String[] args) throws Exception {
        // 创建一个HTTP/2 Client
        HttpClient client = HttpClient.newHttpClient();

        // 创建一个GET请求
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://api.example.com/data"))
                .GET()
                .build();

        // 发送请求并处理响应
        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

        // 打印响应结果
        System.out.println("Response Code: " + response.statusCode());
        System.out.println("Response Body: " + response.body());
    }
}
Copier après la connexion

Dans l'exemple de code ci-dessus, nous créons d'abord un objet HttpClient, puis créons une requête GET et passons le send() La méthode envoie une requête et renvoie un objet HttpResponse. Enfin, nous pouvons obtenir le code d'état et le corps de la réponse via l'objet HttpResponse.

  1. Envoyer une requête POST
    L'envoi d'une requête POST est une autre opération HTTP courante. Voici un exemple de code pour envoyer une requête POST à ​​l'aide de la nouvelle API client HTTP/2 dans Java 11 :
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpHeaders;
import java.net.http.HttpResponse.BodyHandlers;

public class HttpClientExample {
    public static void main(String[] args) throws Exception {
        // 创建一个HTTP/2 Client
        HttpClient client = HttpClient.newHttpClient();

        // 创建一个POST请求
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://api.example.com/data"))
                .header("Content-Type", "application/json")
                .POST(HttpRequest.BodyPublishers.ofString("{"key": "value"}"))
                .build();

        // 发送请求并处理响应
        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

        // 打印响应结果
        System.out.println("Response Code: " + response.statusCode());
        System.out.println("Response Body: " + response.body());
    }
}
Copier après la connexion

Dans l'exemple de code ci-dessus, nous créons d'abord un objet HttpClient, puis créons une requête POST et passons le send() La méthode envoie une requête et renvoie un objet HttpResponse. Nous pouvons spécifier le contenu du corps de la requête via les paramètres de la méthode POST. Par exemple, nous envoyons ici une chaîne JSON comme corps de la requête.

  1. Gestion des réponses
    La nouvelle API client HTTP/2 dans Java 11 fournit plusieurs méthodes pour gérer les réponses. Dans l'exemple de code ci-dessus, nous avons utilisé HttpResponse.BodyHandlers.ofString() pour convertir le corps de la réponse en chaîne. En plus de ofString(), il existe d'autres BodyHandlers qui peuvent traiter le corps de la réponse en fonction du type de contenu de réponse spécifique, tels que ofByteArray(), ofInputStream(), etc.

En plus de traiter le corps de la réponse, nous pouvons également obtenir d'autres informations de réponse, telles que les en-têtes de réponse, les codes d'état de réponse, etc. Voici quelques exemples de codes pour traiter les réponses :

// 获取响应头
HttpHeaders headers = response.headers();
headers.map().forEach((k, v) -> System.out.println(k + ": " + v));

// 获取响应状态码
int statusCode = response.statusCode();

// 判断响应是否成功
if (statusCode == 200) {
    System.out.println("Request succeeded");
} else {
    System.out.println("Request failed");
}
Copier après la connexion

Le code ci-dessus montre comment obtenir les en-têtes de réponse, le code d'état de la réponse et déterminer si la demande a réussi en fonction du code d'état.

  1. Résumé
    Grâce à cet article, nous avons appris à utiliser la nouvelle API client HTTP/2 dans Java 11 pour envoyer des requêtes HTTP et gérer les réponses. La nouvelle API offre un moyen plus simple et plus efficace d'effectuer des opérations HTTP. J'espère que cet article vous aidera à comprendre et à utiliser la nouvelle API client HTTP/2.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Nombre parfait en Java Nombre parfait en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Générateur de nombres aléatoires en Java Générateur de nombres aléatoires en Java Aug 30, 2024 pm 04:27 PM

Guide du générateur de nombres aléatoires en Java. Nous discutons ici des fonctions en Java avec des exemples et de deux générateurs différents avec d'autres exemples.

Weka en Java Weka en Java Aug 30, 2024 pm 04:28 PM

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Numéro de Smith en Java Numéro de Smith en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Questions d'entretien chez Java Spring Questions d'entretien chez Java Spring Aug 30, 2024 pm 04:29 PM

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

LG produit en masse un panneau OLED de jeu QHD 480 Hz de 27 pouces avec une clarté et une vitesse de réponse record LG produit en masse un panneau OLED de jeu QHD 480 Hz de 27 pouces avec une clarté et une vitesse de réponse record Sep 01, 2024 pm 03:37 PM

Récemment, LG Display a annoncé que son panneau OLED de jeu QHD 480 Hz de 27 pouces était officiellement entré en production de masse. Ce panneau a créé un nouveau taux de rafraîchissement et une vitesse de réponse élevés parmi les produits OLED. Le taux de rafraîchissement de 480 Hz est associé à un temps de réponse en niveaux de gris GtG de 0,02 ms, ce qui est un pas de plus que le précédent record de 0,03 ms, apportant l'expérience ultime. aux types de jeux tels que les FPS et les courses. Le nouveau panneau optimise la technologie META de LG Display pour améliorer l’efficacité lumineuse des matériaux OLED. La qualité de l'image est améliorée et la réflexion spéculaire est considérablement réduite. La conception sans cadre à quatre côtés élargit le champ de vision et apporte une expérience immersive. Optimisation de la structure des pixels La structure des pixels WRGB est optimisée pour les besoins de jeux et d'édition de documents. L'affichage du texte est plus clair

Break or Return of Java 8 Stream Forach? Break or Return of Java 8 Stream Forach? Feb 07, 2025 pm 12:09 PM

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Horodatage à ce jour en Java Horodatage à ce jour en Java Aug 30, 2024 pm 04:28 PM

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

See all articles