HTTPie: ein Terminalwerkzeug, das einen API-Test lesbar macht

Zusammenfassung

HTTPie ist ein moderner HTTP-Client fuer die Kommandozeile, dessen Syntax sich fast wie ein Satz liest: Methode, Adresse und Schluessel-Wert-Paare der Reihe nach, JSON wird automatisch erzeugt und farbig formatiert ausgegeben.

Empfehlen
Name
HTTPie
Version
3.2.4
Preis
Kostenlos
Open Source
Open Source
Betriebssystem
WindowsmacOSLinux
Aktualisiert
2026-10-06 22:32

curl ist maechtig und muehsam zu schreiben

Jeder Entwickler hat den curl-Befehl geschrieben, der aus dem Ruder lief. Anfuehrungszeichen in Anfuehrungszeichen, Maskierung auf Maskierung, eine Zeile ueber eine halbe Bildschirmbreite, und ein JSON-Koerper, in dem das eine verlorene Komma mehrere Versuche kostet. HTTPie setzt genau an diesem Schmerz an. Es ist ein moderner HTTP-Client fuer die Kommandozeile, und die Syntax ist so entworfen, dass sie fast wie ein Satz gelesen werden kann: Methode, Adresse und Schluessel-Wert-Paare der Reihe nach, Datenfelder direkt in der Form name=John angehaengt, JSON automatisch erzeugt, und nirgends ist manuelle Maskierung noetig.

HTTPie im Terminal

Der Gewinn ist nicht nur Tippgeschwindigkeit. Ein Befehl, den man eine Woche spaeter noch lesen kann, laesst sich in eine Notiz kopieren, in ein Ticket einfuegen oder an eine Kollegin weitergeben, und die Maskierungsregeln einer Shell sind genau der Teil, der einen funktionierenden Befehl aus dem Gedaechtnis unrekonstruierbar macht. Nimmt man sie heraus, wird aus einem Versuch etwas, das man behalten kann.

Ausgaben, die sich lesen lassen

Die andere Staerke ist das, was zurueckkommt. Kopfzeilen und Koerper werden automatisch formatiert, JSON wird eingerueckt und ausgerichtet, und Statuscode und Methode sind nach Bedeutung gefaerbt, sodass ein Blick genuegt, um das Problem zu finden, statt eine Textwand Wort fuer Wort zu zerlegen.

Die 3.x-Fassungen ergaenzen Angaben zur Antwortzeit, und mit dem Pie-Thema wechselt die Zeit durch Gruen, Gelb, Orange und Rot, wodurch ein langsamer Endpunkt auffaellt, ohne dass ein Messwerkzeug geoeffnet werden muss. Der Rest ist das, was im Alltag wirklich gebraucht wird: Sitzungen, damit eine Anmeldung nicht wiederholt werden muss, Dateiupload mit einem Befehl, native Unterstuetzung fuer Bearer und Basic, ein Erweiterungssystem fuer Protokolle und Ausgabeformate, und streamende Antworten, die von selbst weiterscrollen.

Ein alter Bekannter der offenen Gemeinde

Das Projekt erscheint unter der BSD-3-Clause-Lizenz auf GitHub, traegt knapp vierzigtausend Sterne und gehoert seit Jahren zum festen Bestand der Entwicklerwerkzeuge; die aktuelle Kommandozeilenfassung ist 3.2.4. Es will curl nicht ersetzen. In Skripten und Rohren bleibt curl der Herr, und daran wird sich so schnell nichts aendern. HTTPie zielt auf die menschliche Seite der Arbeit, wo das Testen eines Endpunkts moeglichst nichts kosten soll.

Es gibt ausserdem offizielle Fassungen fuer den Schreibtisch und fuer den Browser, sodass ein Teammitglied ohne Vertrautheit mit dem Terminal gegen dasselbe Werkzeug debuggen kann und nicht gegen ein anderes; die Ergebnisse bleiben damit im Team vergleichbar.

Die Arbeitsteilung laesst sich klar sagen, weil Streit ueber solche Werkzeuge meist daraus entsteht, dass zwei Faelle vermischt werden. Was unbeaufsichtigt laufen muss, gehoert in ein Skript und gehoert zu curl. Was ein Mensch tippt, liest und nachjustiert, gehoert in das Werkzeug, das den Befehl lesbar haelt, und dort spielt dieses seinen Einsatz wieder ein.

Sitzungen sparen in der Praxis am meisten Zeit. Ein geschuetzter Endpunkt verlangt meist eine Anmeldung, bevor irgendetwas getestet werden kann, und wenn man das beim zwanzigsten Aufruf noch von Hand wiederholt, beginnt man Wegwerfskripte zu schreiben statt ueber die Schnittstelle nachzudenken. Bleibt die Sitzung an einer Stelle, entfaellt dieser Umweg.

Streamende Antworten zaehlen aus demselben Grund. Ein Endpunkt, der fortlaufend Ereignisse sendet, laesst sich mit einem Werkzeug, das auf das Ende des Koerpers wartet, nicht ansehen. Sie beim Entstehen zu sehen ist oft der einzige Weg, einen langsamen Server von einem haengenden zu unterscheiden.

Die Haltung dahinter ist, dass ein Werkzeug sich dem Menschen anpassen soll und nicht umgekehrt. Dieselbe Anfrage ist in curl ein Zauberspruch und hier ein Satz. Einmal installiert, verbessern sich Tempo und Stimmung beim Debuggen spuerbar.

HTTPieDownload
Unterstützte Systeme: Windows macOS Linux