使用 Java HttpClient 自定義 HTTP 標頭
瀏覽人數:585最近更新:
一、概述
Java 11 正式引入了 Java HttpClient。在此之前,我們經常在需要使用 HTTP 客戶端時使用 Apache HttpClient 等第三方庫。
在這個簡短的教程中,我們將看到如何使用 Java HttpClient 添加自定義 HTTP 標頭。
2.自定義HTTP頭
我們可以使用HttpRequest.Builder
對像中的三種方法之一輕鬆添加自定義標頭: header
、 headers
或setHeader
。讓我們看看他們的行動。
2.1。使用header()
方法
header()
方法允許我們一次添加一個標題。
我們可以根據需要多次添加相同的標頭名稱,如下例所示,它們都將被發送:
HttpClient httpClient = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.header("X-Our-Header-1", "value1")
.header("X-Our-Header-1", "value2")
.header("X-Our-Header-2", "value2")
.uri(new URI(url)).build();
return httpClient.send(request, HttpResponse.BodyHandlers.ofString());
2.2.使用headers()
方法
如果我們想同時添加多個header,可以使用headers()
方法:
HttpRequest request = HttpRequest.newBuilder()
.headers("X-Our-Header-1", "value1", "X-Our-Header-2", "value2")
.uri(new URI(url)).build();
此方法還允許我們向一個標頭名稱添加多個值:
HttpRequest request = HttpRequest.newBuilder()
.headers("X-Our-Header-1", "value1", "X-Our-Header-1", "value2")
.uri(new URI(url)).build();
2.3.使用setHeader()
方法
最後,我們可以使用setHeader()
方法添加標題。但是,與header()
方法不同的是,如果我們多次使用相同的標頭名稱,它將覆蓋我們之前使用該名稱設置的任何標頭:
HttpRequest request = HttpRequest.newBuilder()
.setHeader("X-Our-Header-1", "value1")
.setHeader("X-Our-Header-1", "value2")
.uri(new URI(url)).build();
在上面的示例中,我們標頭的值將是“value2”。
三、結論
總之,我們已經了解了使用 Java HttpClient 添加自定義 HTTP 標頭的不同方法。
與往常一樣,本文中的示例代碼可在 GitHub 上找到。
本作品係原創或者翻譯,採用《署名-非商業性使用-禁止演繹4.0國際》許可協議