OkHttp Java: Vollständiges Tutorial mit Code-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

OkHttp für Java: Der moderne HTTP-Client

1. Was ist OkHttp und warum sollte man es nutzen?

OkHttp ist eine moderne, leistungsstarke HTTP-Bibliothek für Java und Android, entwickelt von Square. Sie hat sich als De-facto-Standard für Netzwerkanfragen im Android-Ökosystem etabliert und wird auch in serverseitigen Java-Anwendungen intensiv genutzt. OkHttp bietet eine saubere, fließende (Fluent) API zum Senden von HTTP-Anfragen und Empfangen von Antworten. Es unterstützt alle modernen Protokollfunktionen: HTTP/2, WebSockets, GZIP-Komprimierung, Antwort-Caching und automatische Verbindungswiederherstellung bei Fehlern.

Warum OkHttp verwenden, wenn es doch das standardmäßige java.net.HttpURLConnection gibt? Erstens ist OkHttp deutlich einfacher in der Handhabung – anstatt umständliche Konstrukte zur Verbindungskonfiguration zu schreiben, erstellt man einfach eine Anfrage und führt sie aus. Zweitens löst die Bibliothek viele Probleme „out of the box“: Sie verarbeitet automatisch Weiterleitungen (Redirects), verwaltet einen Verbindungspool zur Wiederverwendung, unterstützt transparente GZIP-Komprimierung und kann Antworten zwischenspeichern, um Datenverkehr zu sparen. Drittens bildet OkHttp die Grundlage für beliebte Bibliotheken wie Retrofit und Picasso, was es für Android-Entwickler unverzichtbar macht.

OkHttp ist ideal für jedes Java-Projekt, das eine Interaktion mit REST-APIs, Datei-Uploads, WebSockets oder einfach nur HTTP-Anfragen erfordert. Dank der Unterstützung von HTTP/2 können Anfragen über eine einzige Verbindung multiplexiert werden, was die Arbeit mit modernen Servern erheblich beschleunigt. Version 4.x und höher wurde komplett in Kotlin neu geschrieben, bleibt aber vollständig abwärtskompatibel mit Java-Code, was sie für alle Java-Entwickler zugänglich macht.

2. Installation

OkHttp wird über Maven Central verteilt. Um die Bibliothek in Ihr Projekt einzubinden, fügen Sie die Abhängigkeit in Ihre build.gradle-Datei (für Gradle) oder pom.xml (für Maven) ein.

Gradle (Android / Java-Projekt)

dependencies {
    implementation 'com.squareup.okhttp3:okhttp:4.12.0'
    // Für Anfrage-Logging (optional)
    implementation 'com.squareup.okhttp3:logging-interceptor:4.12.0'
}

Maven

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.12.0</version>
</dependency>

Für Java-Module (ohne Gradle/Maven)

Laden Sie die JAR-Datei von Maven Central herunter und fügen Sie sie dem Classpath Ihres Projekts hinzu.

Wichtig: OkHttp 4.x erfordert Java 8+ oder Android API 21+. Für ältere Versionen verwenden Sie OkHttp 3.x.

3. Schnellstart – Minimales funktionierendes Beispiel

Das einfachste Beispiel: eine GET-Anfrage ausführen und den Antworttext in der Konsole ausgeben. Erstellen Sie eine Klasse Main.java und kopieren Sie den folgenden Code:

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        // 1. HTTP-Client erstellen (normalerweise einer pro Anwendung)
        OkHttpClient client = new OkHttpClient();

        // 2. Anfrage erstellen
        Request request = new Request.Builder()
                .url("https://api.github.com/users/octocat")
                .get()
                .build();

        // 3. Anfrage synchron ausführen (blockiert den Thread)
        try (Response response = client.newCall(request).execute()) {
            if (response.isSuccessful()) {
                System.out.println("Antwort: " + response.body().string());
            } else {
                System.err.println("Fehler: " + response.code());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Dieser Code führt eine GET-Anfrage an die GitHub-API aus.

Empfehlungen