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
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()); } }
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.
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()); } }
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.
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"); }
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.
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!