Gunakan Klien HTTP/2 baharu dalam Java 11 untuk menghantar permintaan HTTP dan mengendalikan respons
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()); } }
Dalam kod contoh di atas, kami mula-mula mencipta objek HttpClient dan kemudian mencipta permintaan GET dan lulus hantar() kaedah menghantar permintaan dan mengembalikan objek HttpResponse. Akhir sekali, kita boleh mendapatkan kod status respons dan badan respons melalui objek 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()); } }
Dalam kod contoh di atas, kami mula-mula mencipta objek HttpClient dan kemudian mencipta permintaan POST dan lulus hantar() kaedah menghantar permintaan dan mengembalikan objek HttpResponse. Kami boleh menentukan kandungan badan permintaan melalui parameter kaedah POST Sebagai contoh, di sini kami menghantar rentetan JSON sebagai badan permintaan.
Selain memproses badan respons, kami juga boleh mendapatkan maklumat respons lain, seperti pengepala respons, kod status respons, dsb. Berikut ialah beberapa contoh kod untuk memproses respons:
// 获取响应头 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"); }
Kod di atas menunjukkan cara mendapatkan pengepala respons, kod status respons dan menentukan sama ada permintaan itu berjaya berdasarkan kod status.
Atas ialah kandungan terperinci Gunakan Klien HTTP/2 baharu dalam Java 11 untuk menghantar permintaan HTTP dan mengendalikan respons. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!