So verwenden Sie den cURL-zu-Code-Konverter
Fuegen Sie einen cURL-Befehl in den Eingabebereich ein, waehlen Sie Ihre Zielprogrammiersprache aus dem Dropdown-Menue und klicken Sie auf Konvertieren. Das Tool analysiert den cURL-Befehl, um die HTTP-Methode, URL, Header und den Anfrage-Body zu extrahieren, und generiert dann aequivalenten Code unter Verwendung der Standard-HTTP-Bibliothek der ausgewaehlten Sprache. Das Statistik-Panel zeigt die erkannte Methode, URL, Header-Anzahl und ob ein Body vorhanden ist. Verwenden Sie die Schaltflaeche Kopieren, um den generierten Code in Ihre Zwischenablage zu kopieren.
Dieses Tool ist unverzichtbar fuer Entwickler, die APIs mit cURL testen und diese Anfragen dann in ihren Anwendungscode integrieren muessen. Browser-Entwicklertools ermoelichen es Ihnen, jede Netzwerkanfrage als cURL-Befehl zu kopieren, was es einfach macht, eine funktionierende Anfrage zu erfassen und sie in Code in der Sprache Ihrer Wahl umzuwandeln.
cURL-Befehle verstehen
cURL ist der am weitesten verbreitete HTTP-Client fuer die Kommandozeile, der standardmaessig auf praktisch jedem Betriebssystem installiert ist. Ein cURL-Befehl besteht aus dem Schluesselwort curl gefolgt von einer URL und optionalen Flags. Das Flag -X gibt die HTTP-Methode an (GET, POST, PUT, DELETE usw.). Das Flag -H fuegt Anfrage-Header wie Content-Type und Authorization hinzu. Das Flag -d sendet Daten im Anfrage-Body. Das Flag -u stellt Basic-Authentication-Anmeldedaten bereit.
Wenn keine Methode explizit angegeben wird, verwendet cURL standardmaessig GET. Wenn das Flag -d ohne -X verwendet wird, wechselt cURL automatisch zu POST. Diese impliziten Verhaltensweisen werden im generierten Code beibehalten, der die Methode explizit setzt, um die Absicht unabhaengig von sprachspezifischen Standardwerten klar zu machen.
Unterstuetzte Sprachen und Bibliotheken
Der Konverter generiert idiomatischen Code fuer vier beliebte Sprachen. Python-Code verwendet die requests-Bibliothek, die der De-facto-Standard fuer HTTP in Python ist. JavaScript-Code verwendet die integrierte fetch-API, die in allen modernen Browsern und Node.js verfuegbar ist. Ruby-Code verwendet Net::HTTP aus der Standardbibliothek. PHP-Code verwendet cURL-Funktionen (curl_init, curl_setopt, curl_exec), die in praktisch allen PHP-Installationen verfuegbar sind.
Umgang mit Authentifizierung und Headern
API-Anfragen erfordern haeufig Authentifizierung. Der Konverter verarbeitet Bearer-Token-Authentifizierung ueber -H 'Authorization: Bearer ...', Basic-Authentifizierung ueber -u Benutzername:Passwort und API-Schluessel-Header. Benutzerdefinierte Header werden in den entsprechenden Header-Setzungsmechanismus fuer jede Sprache uebersetzt. Content-Type-Header werden beibehalten, um sicherzustellen, dass der Anfrage-Body im korrekten Format gesendet wird, sei es JSON, formularkodiert oder multipart.
cURL-Flags verstehen
cURL bietet Dutzende von Kommandozeilen-Flags, aber eine Handvoll deckt den Grossteil der realen Nutzung ab. Zu wissen, was jedes Flag tut, hilft Ihnen, cURL-Befehle sicher zu lesen und zu schreiben, und das Verstaendnis erleichtert es, die Korrektheit von konvertiertem Code zu ueberpruefen.
Anfrage-Flags
Das Flag -X (oder --request) setzt die HTTP-Methode. Haeufige Werte sind GET, POST, PUT, PATCH und DELETE. Wenn Sie -X vollstaendig weglassen, verwendet cURL standardmaessig GET, es sei denn, ein Daten-Flag wie -d ist vorhanden, dann wechselt es automatisch zu POST. Das Flag -H (oder --header) fuegt einen benutzerdefinierten Header zur Anfrage hinzu. Sie koennen es mehrfach verwenden, um mehrere Header zu setzen: -H 'Content-Type: application/json' -H 'Accept: application/json'. Das Flag -d (oder --data) sendet Daten im Anfrage-Body und impliziert POST. Fuer JSON-Payloads koppeln Sie es typischerweise mit -H 'Content-Type: application/json'. Die Variante --data-raw verhaelt sich identisch, interpretiert aber das Praefix @ nicht als Dateiverweis.
Authentifizierungs- und Ausgabe-Flags
Das Flag -u (oder --user) stellt Basic-Authentication-Anmeldedaten im Format Benutzername:Passwort bereit. cURL kodiert diese in Base64 und sendet sie im Authorization-Header. Das Flag -o (oder --output) schreibt den Antwort-Body in eine Datei anstatt auf die Standardausgabe. Das Flag -O speichert in einer Datei unter Verwendung des Remote-Dateinamens aus der URL. Das Flag -v (oder --verbose) gibt detaillierte Anfrage- und Antwortinformationen aus, einschliesslich TLS-Handshake-Details und Header-Austausch, was fuer das Debugging unverzichtbar ist. Das Flag -k (oder --insecure) weist cURL an, die TLS-Zertifikatsueberprüfung zu ueberspringen, nuetzlich fuer Entwicklungsumgebungen mit selbstsignierten Zertifikaten, aber gefaehrlich in der Produktion. Das Flag -L (oder --location) weist cURL an, HTTP-Weiterleitungen (3xx-Antworten) zu folgen, die viele APIs und Websites ausgeben.
Wie die Konvertierung funktioniert
Die Konvertierung eines cURL-Befehls in Quellcode umfasst mehrere einzelne Schritte. Der Konverter tokenisiert zunaechst die Eingabezeichenkette, indem er sie an Leerzeichen aufteilt und dabei einfache und doppelte Anfuehrungszeichen beruecksichtigt, sodass Header-Werte und JSON-Bodies mit Leerzeichen zusammengehalten werden. Anschliessend durchlaeuft er die Token-Liste sequentiell und identifiziert bekannte Flags sowie deren Argumente. Ein Flag wie -X konsumiert das naechste Token als HTTP-Methode; -H konsumiert das naechste Token als Header-Zeichenkette; -d oder --data konsumiert das naechste Token als Anfrage-Body. Token, die mit keinem Flag verbunden sind und wie URLs aussehen (beginnend mit http:// oder https://), werden als Ziel-URL erfasst.
Nach Abschluss der Analyse haelt der Konverter eine strukturierte Darstellung der Anfrage: die URL, die HTTP-Methode, eine Liste von Headern (jeweils am ersten Doppelpunkt in Name und Wert aufgeteilt), die rohe Body-Zeichenkette und eventuelle Authentifizierungsdaten. Diese Zwischendarstellung ist sprachunabhaengig. Der letzte Schritt ist die Codegenerierung, bei der eine sprachspezifische Vorlage jede Komponente den HTTP-Idiomen der Zielsprache zuordnet. Die Methode wird zu einem Funktionsargument oder einer Konstante, Header werden zu einem Dictionary oder assoziativen Array, und der Body wird so angefuegt, wie es die Bibliothek erwartet. Der generierte Code ist mit korrekter Einrueckung formatiert und sofort ausfuehrbar.
Sonderfaelle erfordern spezielle Behandlung. Mehrzeilige cURL-Befehle, die Backslash-Fortsetzung (\ am Zeilenende) verwenden, werden vor der Analyse verbunden. Das Flag -u wird in einen sprachspezifischen Basic-Auth-Mechanismus uebersetzt, anstatt als roher Header belassen zu werden. Doppelte Header werden in der Reihenfolge beibehalten, da einige APIs auf mehrere Werte fuer denselben Header-Namen angewiesen sind (zum Beispiel mehrere Set-Cookie-Header). Der Konverter entfernt auch die fuehrenden $- oder %-Shell-Prompt-Zeichen, die manchmal erscheinen, wenn ein Befehl aus einem Tutorial oder Terminal-Screenshot kopiert wird.
Sprachspezifische HTTP-Bibliotheken
Jede Zielsprache verwendet eine andere Bibliothek mit eigenen Konventionen fuer die Konstruktion von HTTP-Anfragen. Das Verstaendnis dieser Unterschiede hilft Ihnen, die richtige Ausgabe zu waehlen und den generierten Code bei Bedarf anzupassen.
Python — requests
Die requests-Bibliothek ist der beliebteste HTTP-Client im Python-Oekosystem. Sie bietet eine einfache, uebergeordnete API, bei der die HTTP-Methode direkt einem Funktionsnamen zugeordnet wird: requests.get(), requests.post() usw. Header werden als einfaches Dictionary an das Schluesselwortargument headers uebergeben. JSON-Bodies koennen ueber den Parameter json uebergeben werden, der automatisch den Content-Type-Header setzt und das Dictionary serialisiert. Der Parameter auth akzeptiert ein Tupel fuer Basic-Authentifizierung. Antwortdaten sind ueber .json(), .text oder .content je nach gewuenschtem Format verfuegbar.
JavaScript — fetch API
Die fetch-API ist in allen modernen Browsern und Node.js 18+ integriert. Sie nimmt eine URL als erstes Argument und ein Optionsobjekt als zweites. Das Optionsobjekt akzeptiert die Eigenschaften method, headers und body. Header koennen ein einfaches Objekt oder eine Headers-Instanz sein. Anders als requests in Python wirft fetch bei HTTP-Fehlerstatus-Codes keinen Fehler; Sie muessen response.ok selbst ueberpruefen. Der Antwort-Body wird asynchron durch Methoden wie response.json() oder response.text() konsumiert. Da fetch ein Promise zurueckgibt, verwendet der generierte Code async/await fuer die Lesbarkeit.
Ruby — Net::HTTP
Rubys Standardbibliothek enthaelt Net::HTTP, das ausfuehrlicher ist als die Python- oder JavaScript-Aequivalente, aber keine externen Abhaengigkeiten erfordert. Eine typische Anfrage beginnt mit dem Parsen der URL in ein URI-Objekt, dann der Erstellung einer Net::HTTP-Instanz, die fuer Host und Port konfiguriert ist. Anfrageobjekte wie Net::HTTP::Post oder Net::HTTP::Get repraesentieren die Methode. Header werden mit Klammernotation am Anfrageobjekt gesetzt. Der Body wird direkt zugewiesen. Fuer HTTPS-URLs muss use_ssl auf true gesetzt werden. Aufgrund dieses Aufwands verwenden viele Ruby-Entwickler Wrapper-Gems wie Faraday oder HTTParty, aber der generierte Code bleibt bei der Standardbibliothek fuer maximale Portabilitaet.
PHP — cURL-Erweiterung
PHPs cURL-Erweiterung umhuellt dieselbe libcurl-Bibliothek, die das Kommandozeilen-Tool curl antreibt. Der Workflow dreht sich um ein Handle, das mit curl_init() erstellt wird. Optionen werden ueber curl_setopt()-Aufrufe gesetzt: CURLOPT_URL fuer die Ziel-URL, CURLOPT_CUSTOMREQUEST fuer die HTTP-Methode, CURLOPT_HTTPHEADER fuer ein Array von Header-Strings und CURLOPT_POSTFIELDS fuer den Anfrage-Body. Das Setzen von CURLOPT_RETURNTRANSFER auf true laesst curl_exec() die Antwort als String zurueckgeben, anstatt sie auszugeben. Da die PHP-Erweiterung die C-API von libcurl genau widerspiegelt, bildet der generierte PHP-Code fast eins-zu-eins die urspruenglichen cURL-Flags ab, was ihn zur transparentesten Konvertierung der vier Sprachen macht.
Haeufig gestellte Fragen
Was ist cURL?
cURL ist ein Kommandozeilentool fuer HTTP-Anfragen. Es ist auf Linux, macOS und Windows 10+ vorinstalliert und ist das Standardtool zum Testen von APIs.
Wie lese ich einen cURL-Befehl?
Er beginnt mit curl gefolgt von einer URL. Verwenden Sie -X fuer die Methode, -H fuer Header, -d fuer Body-Daten und -u fuer Authentifizierung.
Welche HTTP-Methoden unterstuetzt cURL?
Alle Standardmethoden: GET, POST, PUT, PATCH, DELETE, HEAD und OPTIONS. Setzen Sie die Methode mit dem Flag -X.
Kann ich cURL mit Authentifizierung konvertieren?
Ja. Das Tool verarbeitet Basic Auth (-u), Bearer-Token (-H Authorization) und andere header-basierte Authentifizierungsmuster.
Verarbeitet dies Multipart-Formulardaten?
Ja. Befehle mit -F-Flags fuer Datei-Uploads und Formularfelder werden in die entsprechende Multipart-Syntax in jeder Sprache konvertiert.
Save your results & get weekly tips
Get calculator tips, formula guides, and financial insights delivered weekly. Join 10,000+ readers.
No spam. Unsubscribe anytime.