HTTP-Request-Builder: curl, fetch, Python

HTTP-Request-Builder: Methode, URL, Header und Body eingeben und die Anfrage als curl, JavaScript fetch, Python requests oder HTTPie kopieren.

Erzeugter Code

Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

Eine Anfrage, vier Schreibweisen

Der HTTP-Request-Builder setzt aus einem Formular eine vollständige HTTP-Anfrage zusammen und gibt sie in vier Formen aus. Wer einen curl-Befehl erstellen will, erhält eine Zeile mit korrekt maskierten Werten in einfachen Anführungszeichen, sodass Sonderzeichen in der Shell nicht ausgewertet werden. Für Webanwendungen lässt sich fetch-Code generieren, der mit await die Antwort liest. Für Skripte gibt es einen Aufruf mit Python requests, und für die Kommandozeile die lesbarere Schreibweise von HTTPie.

Wer so eine HTTP-Anfrage erstellen lässt, muss sich um die Kodierung nicht kümmern: Query-Parameter werden URL-kodiert an die Adresse gehängt, Header übernimmt der Builder unverändert. Bei JSON prüft er die Syntax und ergänzt Content-Type: application/json, wenn Sie keinen eigenen Content-Type angegeben haben. Formulardaten werden als application/x-www-form-urlencoded kodiert. Bearer-Token landen im Header Authorization, Basic Auth wird je nach Ziel als -u, als Base64-Header oder als auth=(…) ausgegeben.

Tragen Sie Geheimnisse möglichst nicht direkt ein. Steht im Token-Feld eine Umgebungsvariable wie $API_TOKEN, setzt der Builder sie bei curl und HTTPie in doppelte Anführungszeichen, damit die Shell sie ersetzt; bei Python wird daraus os.environ, bei fetch ein Platzhalter. Den umgekehrten Weg, einen vorhandenen curl-Befehl in Code zu übersetzen, gehen curl in fetch und curl in Python.

Anleitung: HTTP-Request-Builder in 4 Schritten

  1. „Methode“ wählen und die „URL“ eintragen; Query-Parameter können zusätzlich zeilenweise unter „Query-Parameter“ stehen.
  2. Unter „Header“ je Zeile Name: Wert eintragen und bei „Authentifizierung“ Bearer-Token oder Basic Auth wählen.
  3. Bei „Body“ JSON, Formular oder Rohtext auswählen und den Inhalt einfügen.
  4. Oben bei „Ausgabe als“ zwischen curl, fetch, Python requests und HTTPie wechseln und den Code mit „Kopieren“ übernehmen.

Typische Anwendungsfälle

  • Eine API-Anfrage aus der Dokumentation schnell im Terminal ausprobieren und danach als Code in die Anwendung übernehmen.
  • Für ein Fehlerticket einen reproduzierbaren curl-Befehl mit allen Headern erstellen.
  • Kolleginnen ohne Postman einen fertigen HTTPie- oder Python-Aufruf schicken.
  • Lernen, wie dieselbe Anfrage in verschiedenen Werkzeugen aussieht, etwa wo der Content-Type gesetzt wird.
Fragen

Häufige Fragen

Schickt der Builder die Anfrage ab?

Nein. Er erzeugt nur den Code. Die Anfrage führen Sie selbst im Terminal oder in Ihrer Anwendung aus; im Browser würde sie ohnehin oft an CORS-Regeln scheitern.

Warum stehen die Werte bei curl in einfachen Anführungszeichen?

In einfachen Anführungszeichen wertet Bash nichts aus, weder $ noch ! noch Leerzeichen. Ein Apostroph im Wert wird als '\'' geschrieben. Nur Umgebungsvariablen im Token-Feld stehen bewusst in doppelten Anführungszeichen.

Funktioniert der curl-Befehl unter Windows?

In PowerShell und cmd gelten andere Anführungsregeln. Nutzen Sie die Git Bash oder WSL, oder rufen Sie in PowerShell curl.exe auf und passen Sie die Anführungszeichen an.

Was ist HTTPie?

Ein Kommandozeilen-Client mit kurzer Syntax: name=wert erzeugt ein JSON-Feld, name==wert einen Query-Parameter und Name:Wert einen Header. Er wird mit http bzw. https aufgerufen.

Warum setzt der Builder bei JSON den Content-Type automatisch?

Viele APIs lehnen JSON ohne Content-Type: application/json ab. Steht in Ihren Headern bereits ein Content-Type, verwendet der Builder Ihren Wert und fügt keinen zweiten hinzu.

Sind Token in den erzeugten Befehlen sicher?

Der Befehl enthält das Token im Klartext. Ein curl-Aufruf mit Token landet zum Beispiel in der Shell-Historie. Nutzen Sie für echte Schlüssel lieber Umgebungsvariablen wie $API_TOKEN und tragen Sie diese statt des Werts ein.

Weitere Werkzeuge

Das könnte auch helfen

Alle 558 Werkzeuge