Benutzerdefinierter HTTP-Header mit dem HttpClient

Benutzerdefinierter HTTP-Header mit dem HttpClient

1. Überblick

In diesem Tutorial erfahren Sie, wie Sie mit dem HttpClient einen benutzerdefinierten Header festlegen.

Wenn Sie tiefer undlearn other cool things you can do with the HttpClient graben möchten, gehen Sie zuthe main HttpClient tutorial.

Weitere Lektüre:

Führen Sie eine einfache HTTP-Anforderung in Java durch

Eine schnelle und praktische Anleitung zum Ausführen grundlegender HTTP-Anforderungen mithilfe der in Java integrierten HttpUrlConnection.

Read more

Erweiterte HttpClient-Konfiguration

HTTP-Client-Konfigurationen für erweiterte Anwendungsfälle.

Read more

Erkunden des neuen HTTP-Clients in Java 9 und 11

Entdecken Sie die neue HttpClient-API von Java 9, die viel Flexibilität und leistungsstarke Funktionen bietet.

Read more

2. Set Header on Request - 4.3 und höher

HttpClient 4.3 hat eine neue Methode zum Erstellen von Anforderungen eingeführt -RequestBuilder. Um einen Header zu setzen,we’ll use the setHeader method – on the builder:

HttpClient client = HttpClients.custom().build();
HttpUriRequest request = RequestBuilder.get()
  .setUri(SAMPLE_URL)
  .setHeader(HttpHeaders.CONTENT_TYPE, "application/json")
  .build();
client.execute(request);

3. Header auf Anfrage setzen - Vor 4.3

In Versionen vor 4.3 von HttpClient istwe can set any custom header on a request with a simple setHeader call on the request:

HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(SAMPLE_URL);
request.setHeader(HttpHeaders.CONTENT_TYPE, "application/json");
client.execute(request);

Wie wir sehen können, setzen wir dieContent-Type direkt in der Anforderung auf einen benutzerdefinierten Wert - JSON.

4. Legen Sie den Standardheader auf dem Client fest

Anstatt den Header für jede einzelne Anforderung festzulegen, können wir auchconfigure it as a default header on the Clientelbst festlegen:

Header header = new BasicHeader(HttpHeaders.CONTENT_TYPE, "application/json");
List
headers = Lists.newArrayList(header); HttpClient client = HttpClients.custom().setDefaultHeaders(headers).build(); HttpUriRequest request = RequestBuilder.get().setUri(SAMPLE_URL).build(); client.execute(request);

Dies ist äußerst hilfreich, wenn der Header für alle Anforderungen gleich sein muss, z. B. ein benutzerdefinierter Anwendungsheader.

5. Fazit

In diesem Artikel wurde erläutert, wie einer oder allen über den Apache HttpClient gesendeten Anforderungen ein HTTP-Header hinzugefügt wird.

Die Implementierung all dieser Beispiele und Codefragmente finden Sie inthe GitHub project.