Heim >Java >javaLernprogramm >Verwenden Sie den neuen HTTP/2-Client in Java 11, um HTTP-Anfragen zu senden und Antworten zu verarbeiten

Verwenden Sie den neuen HTTP/2-Client in Java 11, um HTTP-Anfragen zu senden und Antworten zu verarbeiten

WBOY
WBOYOriginal
2023-07-30 16:51:231382Durchsuche

Verwenden Sie den neuen HTTP/2-Client in Java 11, um HTTP-Anfragen zu senden und Antworten zu verarbeiten

  1. Einführung
    Mit der Veröffentlichung von Java 11 hat Java eine neue HTTP/2-Client-API eingeführt, um die alten HttpURLConnection und HttpClient zu ersetzen. Die neue API bietet eine einfachere und effizientere Möglichkeit, HTTP-Anfragen zu senden und Antworten zu verarbeiten. In diesem Artikel werden wir die neue HTTP/2-Client-API in Java 11 untersuchen, einschließlich des Sendens von GET- und POST-Anfragen und des Umgangs mit Antworten.
  2. Senden einer GET-Anfrage
    Das Senden einer GET-Anfrage ist einer der häufigsten HTTP-Vorgänge. Hier ist ein Beispielcode zum Senden einer GET-Anfrage mit der neuen HTTP/2-Client-API in 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());
    }
}

Im obigen Beispielcode erstellen wir zuerst ein HttpClient-Objekt, erstellen dann eine GET-Anfrage und übergeben send() Die Methode sendet eine Anfrage und gibt ein HttpResponse-Objekt zurück. Schließlich können wir den Antwortstatuscode und den Antworttext über das HttpResponse-Objekt abrufen.

  1. Eine POST-Anfrage senden
    Das Senden einer POST-Anfrage ist ein weiterer häufiger HTTP-Vorgang. Hier ist ein Beispielcode zum Senden einer POST-Anfrage mit der neuen HTTP/2-Client-API in 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());
    }
}

Im obigen Beispielcode erstellen wir zuerst ein HttpClient-Objekt und dann eine POST-Anfrage und übergeben send() Die Methode sendet eine Anfrage und gibt ein HttpResponse-Objekt zurück. Den Inhalt des Anfragetextes können wir über die Parameter der POST-Methode angeben. Hier senden wir beispielsweise einen JSON-String als Anfragetext.

  1. Antworten verarbeiten
    Die neue HTTP/2-Client-API in Java 11 bietet mehrere Methoden zur Verarbeitung von Antworten. Im obigen Beispielcode haben wir HttpResponse.BodyHandlers.ofString() verwendet, um den Antworttext in einen String zu konvertieren. Zusätzlich zu ofString() gibt es andere BodyHandler, die den Antworttext entsprechend dem spezifischen Antwortinhaltstyp verarbeiten können, z. B. ofByteArray(), ofInputStream() usw.

Zusätzlich zur Verarbeitung des Antworttextes können wir auch andere Antwortinformationen abrufen, z. B. Antwortheader, Antwortstatuscodes usw. Hier sind einige Beispielcodes für die Verarbeitung von Antworten:

// 获取响应头
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");
}

Der obige Code zeigt, wie man die Antwortheader und den Antwortstatuscode erhält und anhand des Statuscodes ermittelt, ob die Anfrage erfolgreich war.

  1. Zusammenfassung
    In diesem Artikel haben wir gelernt, wie man die neue HTTP/2-Client-API in Java 11 verwendet, um HTTP-Anfragen zu senden und Antworten zu verarbeiten. Die neue API bietet eine einfachere und effizientere Möglichkeit, HTTP-Vorgänge auszuführen. Ich hoffe, dass dieser Artikel Ihnen hilft, die neue HTTP/2-Client-API zu verstehen und zu verwenden.

Das obige ist der detaillierte Inhalt vonVerwenden Sie den neuen HTTP/2-Client in Java 11, um HTTP-Anfragen zu senden und Antworten zu verarbeiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn