ホームページ >Java >&#&チュートリアル >Java 11 の新しい HTTP/2 クライアントを使用して HTTP リクエストを送信し、応答を処理する
Java 11 の新しい HTTP/2 クライアントを使用して HTTP リクエストを送信し、応答を処理する
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()); } }
上記のサンプル コードでは、最初に HttpClient オブジェクトを作成し、次に GET リクエストを作成します。 send() メソッドを通じて送信され、HttpResponse オブジェクトを返します。最後に、HttpResponse オブジェクトを通じて応答ステータス コードと応答本文を取得できます。
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()); } }
上記のサンプル コードでは、最初に HttpClient オブジェクトを作成し、次に POST リクエストを作成します。 、send() メソッドを通じてリクエストを送信し、HttpResponse オブジェクトを返します。 POST メソッドのパラメーターを使用してリクエスト本文の内容を指定できます。たとえば、ここでは JSON 文字列をリクエスト本文として送信します。
応答本文の処理に加えて、応答ヘッダーや応答ステータス コードなどの他の応答情報も取得できます。以下は、応答を処理するためのサンプル コードです。
// 获取响应头 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"); }
上記のコードは、応答ヘッダー、応答ステータス コードを取得し、ステータス コードに基づいてリクエストが成功したかどうかを判断する方法を示しています。
以上がJava 11 の新しい HTTP/2 クライアントを使用して HTTP リクエストを送信し、応答を処理するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。