Apache HttpClient für Java: Vollständige Anleitung mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist Apache HttpClient und wozu wird es benötigt

\n\n

Apache HttpClient ist eine leistungsstarke und flexible Bibliothek in der Programmiersprache Java, die für die Durchführung von HTTP-Anfragen entwickelt wurde. Sie bietet Entwicklern die vollständige Kontrolle über den Prozess des Sendens und Empfangens von Daten über das HTTP-Protokoll. Im Gegensatz zur integrierten Klasse java.net.HttpURLConnection bietet Apache HttpClient eine höherwertige API, Unterstützung für moderne Standards (HTTP/1.1, HTTP/2), komfortable Arbeit mit Cookies, Authentifizierung, Verbindungspools und Anfragen-Interceptoren.

\n\n

Die Bibliothek ist in folgenden Szenarien unverzichtbar:

\n
    \n
  • Interaktion mit REST-APIs — Senden von GET-, POST-, PUT-, DELETE-Anfragen an Webservices.
  • \n
  • Webseiten-Parsing — Herunterladen von HTML-Inhalten zur späteren Analyse.
  • \n
  • Testen von Webanwendungen — Simulation von Client-Anfragen.
  • \n
  • Microservice-Architektur — Datenaustausch zwischen Diensten.
  • \n
  • Dateidownload — Herunterladen von Binärdaten (Bilder, Archive).
  • \n
\n\n

Installation von Apache HttpClient

\n\n

Apache HttpClient wird nicht über pip oder npm installiert, da es sich um eine Bibliothek für Java handelt. Für die Einbindung wird das Abhängigkeitsverwaltungssystem Maven oder Gradle verwendet. Nachfolgend finden Sie Anleitungen für beide Varianten.

\n\n

Installation über Maven (pom.xml)

\n

Fügen Sie die folgenden Abhängigkeiten in Ihre pom.xml-Datei ein:

\n
<dependency>\n    <groupId>org.apache.httpcomponents</groupId>\n    <artifactId>httpclient</artifactId>\n    <version>4.5.14</version>\n</dependency>\n\n<dependency>\n    <groupId>org.apache.httpcomponents</groupId>\n    <artifactId>httpmime</artifactId>\n    <version>4.5.14</version>\n</dependency>
\n\n

Installation über Gradle (build.gradle)

\n

Fügen Sie im Abschnitt dependencies hinzu:

\n
implementation 'org.apache.httpcomponents:httpclient:4.5.14'\nimplementation 'org.apache.httpcomponents:httpmime:4.5.14'
\n\n

Für die Arbeit mit HTTP/2 (Version 5.x) verwenden Sie:

\n
implementation 'org.apache.httpcomponents.client5:httpclient5:5.3.1'
\n\n

Schnellstart: Erste HTTP-Anfrage

\n\n

Erstellen Sie eine einfache Java-Klasse und führen Sie eine GET-Anfrage an eine öffentliche API durch:

\n\n
import org.apache.http.client.methods.CloseableHttpResponse;\nimport org.apache.http.client.methods.HttpGet;\nimport org.apache.http.impl.client.CloseableHttpClient;\nimport org.apache.http.impl.client.HttpClients;\nimport org.apache.http.util.EntityUtils;\n\npublic class QuickStart {\n    public static void main(String[] args) {\n        // 1. HTTP-Client erstellen\n        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {\n            \n            // 2. GET-Anfrage erstellen\n            HttpGet request = new HttpGet("https://jsonplaceholder.typicode.com/posts/1");\n            \n            // 3. Anfrage ausführen und Antwort erhalten\n            try (CloseableHttpResponse response = httpClient.execute(request)) {\n                \n                // 4. Antworttext extrahieren\n                String body = EntityUtils.toString(response.getEntity());\n                \n                // 5. Ergebnis ausgeben\n                System.out.println("Status code: " + response.getStatusLine().getStatusCode());\n                System.out.println("Response body: " + body);\n            }\n        } catch (Exception e) {\n            e.printStackTrace();\n        }\n    }\n}
\n\n

Wichtige Methoden und Funktionen von Apache HttpClient

\n\n

1. HttpGet — Ausführen einer GET-Anfrage

\n

Beschreibung: Erstellt eine HTTP-GET-Anfrage zum Abrufen von Daten vom Server.

\n

Parameter:

\n
    \n
  • String uri — URL-Adresse der Anfrage.
  • \n
\n

<

Empfehlungen