cURL zu Ruby
curl-Befehl einfügen und ein lauffähiges Ruby-Skript mit net/http aus der Standardbibliothek erhalten – ohne Gems.
cURL zu Ruby wandelt vollständig in Ihrem Browser um. Befehle mit Tokens werden nie hochgeladen.
cURL zu Python öffnen
Über cURL to Ruby
API-Dokumentation ist in curl geschrieben, Anwendungen in Ruby – dieselbe Übersetzung passiert also immer wieder von Hand. Dieser Konverter liest die relevanten Flags – Methode, Header, Daten, Basic Auth und die Query-Behandlung hinter -G – und erzeugt ein Skript auf Basis von net/http, das mit Ruby mitgeliefert wird und keine Gems braucht. Ein JSON-Body wird als Hash ausgegeben und durch JSON.generate geschickt, lässt sich also bequem bearbeiten.
Funktionen
- net/http aus der Standardbibliothek – nichts zu installieren
- Header, Body, Query-Strings und Basic Auth werden übernommen
- JSON-Bodies als bearbeitbarer Ruby-Hash
- basic_auth statt selbstgebautem Authorization-Header
- Ungewöhnliche Verben über Net::HTTPGenericRequest
- Die Umwandlung läuft vollständig in Ihrem Browser
So verwendest du cURL to Ruby
- curl-Befehl aus der API-Dokumentation kopieren
- Links einfügen
- Den erzeugten Ruby-Code rechts prüfen
- Kopieren oder als .rb-Datei herunterladen
Beispiel
Eingabe
curl -X POST https://api.example.com/users -H "Content-Type: application/json" -d '{"name":"Ada"}'
Ausgabe
request = Net::HTTP::Post.new(uri)
request["Content-Type"] = "application/json"
request.body = JSON.generate({ "name" => "Ada" })
Der Body kommt als bearbeitbarer Hash, nicht als Textblock in Anführungszeichen.
Häufige Fehler & Fehlerbehebung
- Das Skript meldet einen SSL-Verifizierungsfehler. — Meist steckt ein selbstsigniertes oder internes Zertifikat dahinter. OpenSSL auf Ihr CA-Bundle zeigen lassen, statt die Prüfung abzuschalten – curl -k hat keine sichere Entsprechung und wird bewusst nicht übersetzt.
- Die API lehnt den Request-Body ab. — Prüfen, ob der Content-Type-Header mitgekommen ist. net/http setzt keinen, und JSON ohne Header wird oft als Formulardaten interpretiert.
- Weiterleitungen werden nicht verfolgt. — Für -L gibt es keine direkte Entsprechung – net/http liefert die 3xx-Antwort und überlässt Ihnen die Entscheidung. Auf Net::HTTPRedirection prüfen und den Location-Header erneut anfragen.
Häufig gestellte Fragen
- Braucht der erzeugte Ruby-Code Gems?
- Nein. Er nutzt net/http, uri und json, die mit Ruby ausgeliefert werden – das Skript läuft auf einer Standardinstallation ohne weitere Installation.
- Warum net/http statt Faraday oder HTTParty?
- Code der Standardbibliothek läuft überall ohne Gemfile, was ihn zur sichersten Wahl für ein fremdes Projekt macht. Der spätere Umstieg auf ein Gem ist unkompliziert.
- Wie wird Basic Auth behandelt?
- Ein -u wird zu request.basic_auth mit Benutzername und Passwort als getrennten Argumenten. Das ist die idiomatische Form und erspart die Base64-Kodierung von Hand.
- Was passiert bei einem ungewöhnlichen HTTP-Verb?
- Verben ohne eigene Net::HTTP-Klasse, etwa PURGE, werden über Net::HTTPGenericRequest mit dem Methodennamen als Zeichenkette erzeugt.
Verwandte Tools
- curl zu Python — Wandle einen curl-Befehl in Python-requests-Code um.
- curl zu Node.js — Wandle einen curl-Befehl in Node.js-axios-Code um.
- curl zu PHP — Wandle einen curl-Befehl in PHP-cURL-Code um.
- curl zu Go — Wandle einen curl-Befehl in Go-net/http-Code um.
- cURL to PowerShell — Convert a curl command to PowerShell Invoke-RestMethod.
- cURL zu Fetch — Konvertiere einen curl-Befehl in einen JavaScript-fetch()-Aufruf.
Alle ArrayKit-Tools