HAR zu cURL liest das Netzwerkarchiv, das die Entwicklertools des Browsers exportieren, und macht aus jedem Request darin einen Befehl fürs Terminal. Es ist der schnellste Weg, die Lücke von „im Browser geht es, im Skript nicht" zu schließen: Jeder Header, die Methode und der Request-Body kommen exakt so an, wie der Browser sie gesendet hat. Zwei Details werden sorgfältig behandelt. Das Shell-Quoting nutzt die POSIX-Maskierung für ein Hochkomma in Hochkommas, ein JSON-Body mit Apostroph zerreißt den Befehl also nicht stumm. Und weil eine HAR routinemäßig lebende Session-Cookies enthält, entfernt ein Schalter Cookie- und Authorization-Header vor dem Einfügen in einen Bugreport.
Funktionen
Liest jeden HAR-Export und listet alle enthaltenen Requests
Filter nach URL, Methode oder Statuscode
Einen Request oder die ganze gefilterte Menge auf einmal umwandeln
POSIX-korrektes Quoting für Bodies mit Anführungszeichen oder Apostrophen
Entfernt Cookie-, Authorization- und API-Key-Header auf Wunsch
Verwirft browserverwaltete Header und HTTP/2-Pseudo-Header
So verwendest du HAR zu cURL
In den Entwicklertools das Netzwerk-Panel öffnen und alles als HAR mit Inhalt speichern
Die .har-Datei hier ablegen oder den Inhalt einfügen
Einen Request wählen — oder Alle lassen, um jeden umzuwandeln
Cookies und Auth entfernen aktivieren, wenn der Befehl geteilt wird, dann kopieren
Beispiel
Eingabe
POST https://api.example.com/login with a JSON body
Für einen POST mit Body wird kein -X ausgegeben, denn --data impliziert ihn bereits.
Häufige Fehler & Fehlerbehebung
Der Befehl läuft, aber der Server antwortet mit 401 oder 403. — Vermutlich wurde der Auth-Header entfernt oder die enthaltene Session ist abgelaufen. Die Entfernen-Option ausschalten und die HAR eingeloggt neu exportieren.
Das Tool meldet, das JSON sei keine HAR-Datei. — Eine HAR hat ein log-Objekt mit einem entries-Array. Ein gespeicherter Response-Body oder kopiertes JSON hat diese Struktur nicht — mit „Alles als HAR speichern" neu exportieren.
Ein Request-Body fehlt im Befehl. — Mit Inhalt exportieren. Ohne ihn hält die HAR nur Header fest und lässt Bodies weg — es gibt dann nichts für --data-raw.
Häufig gestellte Fragen
Wie exportiere ich eine HAR-Datei aus dem Browser?
Entwicklertools öffnen, ins Netzwerk-Panel wechseln, den Request auslösen, dann per Rechtsklick auf eine Zeile „Alles als HAR mit Inhalt speichern" wählen. Chrome, Edge, Firefox und Safari bieten je eine Variante davon.
Warum enthält der erzeugte Befehl kein -X POST?
Weil --data-raw bereits POST impliziert und ein zusätzliches -X das Redirect-Verhalten von cURL ändern kann. Das Methoden-Flag erscheint nur, wenn es wirklich nötig ist, etwa bei PUT, PATCH oder DELETE.
Ist ein cURL-Befehl aus einer HAR-Datei unbedenklich teilbar?
Standardmäßig nicht — eine HAR fängt lebende Session-Cookies und Authorization-Header ein, die einem Passwort gleichkommen. Vorher die Entfernen-Option aktivieren.
Wird meine HAR-Datei beim Umwandeln hochgeladen?
Nein. Die Datei wird vollständig in Ihrem Browser geparst — wichtig, weil eine HAR regelmäßig Session-Cookies und persönliche Daten jedes erfassten Requests enthält.
Verwandte Tools
HAR File Viewer — Eine .har-Datei öffnen und jede Anfrage, jeden Header und jedes Timing inspizieren.
cURL zu Fetch — Konvertiere einen curl-Befehl in einen JavaScript-fetch()-Aufruf.
curl zu Python — Wandle einen curl-Befehl in Python-requests-Code um.
API-Client — Sende HTTP-Anfragen, erstelle Header und Parameter und prüfe Antworten; speichert deine letzten 25.
curl zu Node.js — Wandle einen curl-Befehl in Node.js-axios-Code um.
URL-Parser — Zerlege eine URL in ihre Bestandteile und liste die Query-Parameter auf.
Weitere API-Tools-Tools
Postman zu cURL — Wandelt einen Postman-Export in ausführbare cURL-Befehle um.
cURL zu C# — Wandelt einen curl-Befehl in C#-Code mit HttpClient um.
cURL zu Java — Wandelt einen curl-Befehl in Java-Code mit HttpClient um.
cURL zu Ruby — Einen curl-Befehl in Ruby-Code mit Net::HTTP umwandeln.
cURL zu PowerShell — Einen curl-Befehl in PowerShell mit Invoke-RestMethod umwandeln.
cURL zu Swift — Wandelt einen curl-Befehl in Swift-Code mit URLSession.
cURL zu Dart — Wandelt einen curl-Befehl in Dart-Code mit package:http.
cURL zu Fetch — Konvertiere einen curl-Befehl in einen JavaScript-fetch()-Aufruf.
URL-Parser — Zerlege eine URL in ihre Bestandteile und liste die Query-Parameter auf.
API-Client — Sende HTTP-Anfragen, erstelle Header und Parameter und prüfe Antworten; speichert deine letzten 25.