使用Java 11中的新的HTTP/2 Client來發送HTTP請求並處理回應
使用Java 11中的新的HTTP/2 Client來發送HTTP請求並處理回應
- #引言
隨著Java 11的發布,Java引入了一個全新的HTTP/2 Client API來取代舊的HttpURLConnection和HttpClient。新的API提供了更簡潔、更有效率的方式來發送HTTP請求並處理回應。在本文中,我們將探索Java 11中的新的HTTP/2 Client API,包括如何發送GET請求、POST請求,以及如何處理回應。 - 發送GET請求
發送GET請求是最常見的HTTP操作之一。下面是一個使用Java 11中的新的HTTP/2 Client API發送GET請求的範例程式碼:
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物件來取得響應的狀態碼和響應體。
- 傳送POST請求
傳送POST請求是另一個常見的HTTP操作。下面是一個使用Java 11中的新的HTTP/2 Client API發送POST請求的範例程式碼:
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字串作為請求體。
- 處理回應
Java 11中的新的HTTP/2 Client API提供了多個方法來處理回應。在上面的範例程式碼中,我們使用了HttpResponse.BodyHandlers.ofString()來將響應體轉換為字串。除了ofString()之外,還有其他的BodyHandlers可以根據特定的回應內容類型來處理回應體,例如ofByteArray()、ofInputStream()等。
除了處理回應體,我們還可以取得其他的回應訊息,例如回應頭、回應狀態碼等。以下是一些處理回應的範例程式碼:
// 获取响应头 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 Client API來傳送HTTP請求並處理回應。新的API提供了更簡潔、更有效率的方式來進行HTTP操作。希望這篇文章對你理解和使用新的HTTP/2 Client API有幫助。
以上是使用Java 11中的新的HTTP/2 Client來發送HTTP請求並處理回應的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

近日,LGDisplay宣布,其27吋480HzQHD遊戲OLED面板正式投入量產。該面板在OLED產品中創造了刷新率和響應速度的新高,480Hz的刷新率搭配0.02ms的GtG灰階響應時間,較之前0.03ms的記錄更進一步,為FPS、賽車等遊戲類型帶來極致體驗。新面板優化LGDisplay的METATechnology技術提升了OLED材質發光效率。畫質增強,鏡面反射大幅減少。四面無邊框設計擴大了視野範圍,帶來沉浸感體驗。像素結構優化WRGB像素結構針對遊戲和文件編輯需求最佳化。文字顯示更加清

Java 8引入了Stream API,提供了一種強大且表達力豐富的處理數據集合的方式。然而,使用Stream時,一個常見問題是:如何從forEach操作中中斷或返回? 傳統循環允許提前中斷或返回,但Stream的forEach方法並不直接支持這種方式。本文將解釋原因,並探討在Stream處理系統中實現提前終止的替代方法。 延伸閱讀: Java Stream API改進 理解Stream forEach forEach方法是一個終端操作,它對Stream中的每個元素執行一個操作。它的設計意圖是處

膠囊是一種三維幾何圖形,由一個圓柱體和兩端各一個半球體組成。膠囊的體積可以通過將圓柱體的體積和兩端半球體的體積相加來計算。本教程將討論如何使用不同的方法在Java中計算給定膠囊的體積。 膠囊體積公式 膠囊體積的公式如下: 膠囊體積 = 圓柱體體積 兩個半球體體積 其中, r: 半球體的半徑。 h: 圓柱體的高度(不包括半球體)。 例子 1 輸入 半徑 = 5 單位 高度 = 10 單位 輸出 體積 = 1570.8 立方單位 解釋 使用公式計算體積: 體積 = π × r2 × h (4
