tigtools

cURL-zu-Code-Konverter

Fügen Sie einen curl-Befehl ein, zum Beispiel aus den Entwicklertools Ihres Browsers oder aus einer API-Dokumentation kopiert, und erhalten Sie äquivalenten Code in der gewünschten Sprache.

Läuft in Ihrem Browser Keine Anmeldung erforderlich

Sprache

Anleitung

  1. Kopieren Sie eine Anfrage als curl, zum Beispiel aus den Entwicklertools Ihres Browsers (Netzwerk-Tab, Rechtsklick, Als cURL kopieren) oder aus einer API-Dokumentation.
  2. Fügen Sie ihn in das Feld ein. Zeilenfortsetzungen mit \ sind in Ordnung.
  3. Wählen Sie JavaScript fetch, Node.js axios, Python requests oder PHP cURL.
  4. Lesen Sie etwaige Hinweise unterhalb des Codes und kopieren oder laden Sie anschließend das Ergebnis herunter.

So funktioniert es

Der Konverter zerlegt den Befehl zunächst so in Wörter, wie es eine POSIX-Shell macht: einfache Anführungszeichen, doppelte Anführungszeichen mit Backslash-Escapes, $'…'-Zeichenketten und Backslash-Zeilenfortsetzungen werden erkannt. Shell-Variablen wie $TOKEN werden nicht expandiert; sie bleiben als Text erhalten.

Unterstützte curl-Optionen: die URL (oder --url), -X/--request, -H/--header, -d/--data, --data-ascii, --data-raw, --data-binary, --data-urlencode, --json, -F/--form und --form-string (Felder und @file-Uploads mit ;type=), -u/--user, -G/--get, -I/--head, -A/--user-agent, -e/--referer, -b/--cookie (Cookie-Strings), -L/--location und --compressed. Kurze Optionen können kombiniert werden, zum Beispiel -sSL, und Werte können direkt angehängt werden, zum Beispiel -XPOST.

Es gelten die Regeln von curl: Mehrere -d-Werte werden mit & verbunden; Daten machen die Anfrage zu POST, sofern -X oder -G nichts anderes bestimmt; -G hängt die Daten als Query-String an die URL an; --json setzt die Header Content-Type und Accept auf application/json. Wenn der Body JSON ist und der Content-Type dies angibt, sendet der Code ein echtes Objekt (json= in Python, ein Array mit json_encode in PHP) statt einer maskierten Zeichenkette. Bei Multipart-Formularen bleibt der Content-Type-Header der Bibliothek überlassen, damit die Boundary korrekt ist.

-k/--insecure wird bewusst ignoriert, und ein Hinweis erklärt dies. Optionen, die nur die Ausgabe von curl selbst ändern (-s, -S, -v, -i, -o, --fail und ähnliche), werden mit einem Hinweis ignoriert. Jede andere Option erzeugt einen klaren Fehler, der sie benennt, statt Code, der stillschweigend etwas anderes tut. Ein Unterschied bleibt: curl folgt Redirects nur mit -L, während fetch, axios und requests ihnen standardmäßig folgen; der PHP-Code folgt ihnen nur, wenn -L angegeben wurde.

Das Tool erzeugt nur Code. Es sendet die Anfrage niemals; Tokens und Passwörter aus dem Befehl werden daher nirgendwo verwendet.

Beispiele

Browser-Anfrage in Python reproduzieren

Kopieren Sie einen fehlschlagenden API-Aufruf im Netzwerk-Tab von Chrome als cURL und konvertieren Sie ihn in Python requests. Header, Cookies und JSON-Body werden übernommen, sodass Sie den Fehler in einem Skript reproduzieren können.

API-Dokumentation in Node.js verwenden

Eine API-Referenz zeigt „curl -u key: https://api.example.com/v1/charges -d amount=2000 -d currency=eur“. Die axios-Version verwendet auth: { username: "key", password: "" } und einen formularcodierten Body.

Datei-Upload in PHP

„curl -F 'file=@invoice.pdf;type=application/pdf' -F 'note=March' https://x.io/upload“ wird zu CURLOPT_POSTFIELDS mit new CURLFile('invoice.pdf', 'application/pdf') und dem Feld note.

Häufig gestellte Fragen

Sendet dieses Tool meine Anfrage?

Nein. Das Tool analysiert nur den Befehlstext und erzeugt Code. Es wird keine Anfrage gesendet; API-Schlüssel oder Cookies im Befehl werden weder verwendet noch gespeichert.

Warum wird -k/--insecure nicht konvertiert?

Wenn Sie die Zertifikatsprüfung deaktivieren, kann die Verbindung abgefangen werden. Der generierte Code lässt die Prüfung aktiv. Wenn das Zertifikat eines Servers nicht vertrauenswürdig ist, korrigieren Sie stattdessen das Zertifikat oder den Vertrauensspeicher.

Warum erhalte ich „Option wird nicht unterstützt“?

Der Konverter übersetzt nur Optionen, deren Bedeutung er exakt nachbilden kann. Proxys, Client-Zertifikate, Cookie-Jars und ähnliche Optionen werden abgelehnt, damit Sie keinen Code erhalten, der sich anders verhält als curl.

Funktioniert es mit Windows-cmd-Befehlen?

Befehle, die als „cURL (bash)“ kopiert wurden, funktionieren am besten. Windows cmd verwendet ^ für die Zeilenfortsetzung und eine andere Anführungszeichen-Syntax; ^ am Zeilenende wird akzeptiert, andere cmd-Escapes werden unter Umständen nicht akzeptiert.

Datenschutz

Der Befehl wird nur in Ihrem Browser analysiert, und es wird keine Anfrage gesendet. Es wird nichts hochgeladen, gespeichert oder in Analysen einbezogen.