curl in Clojure konvertieren
curl2code konvertiert curl-Befehle in Clojure-Code unter Verwendung von clj-http. Die Konvertierung läuft in Ihrem Browser via WebAssembly für vollständige Privatsphäre. Für Elixir schauen Sie sich unseren curl zu Elixir Konverter an. Für Java siehe curl zu Java. Unten finden Sie praktische Clojure-Beispiele.
So kopieren Sie curl aus Ihrem Browser
- 1
DevTools öffnen
Drücken Sie F12 oder Ctrl+Shift+I, um die Entwicklertools Ihres Browsers zu öffnen.
- 2
Zum Reiter Netzwerk gehen
Klicken Sie auf den Reiter Netzwerk und führen Sie die Aktion aus, die den HTTP-Request auslöst.
- 3
Als cURL kopieren
Rechtsklick auf den Request → Kopieren → Als cURL kopieren. Dann oben einfügen.
Häufig gestellte Fragen (FAQ)
Was ist clj-http?
clj-http ist die beliebteste HTTP-Client-Bibliothek für Clojure und umschließt Apache HttpComponents. Sie bietet eine idiomatische, datengesteuerte API mit automatischem JSON/EDN-Parsing, Cookie-Management und Connection-Pooling. Fügen Sie sie zu project.clj hinzu: [clj-http "3.x"]. curl2code verwendet clj-http für alle Clojure-Konvertierungen.
clj-http vs. http-kit vs. aleph — was sollte man verwenden?
clj-http ist synchron, funktionsreich und am weitesten verbreitet. http-kit ist leichtgewichtig mit Async-Unterstützung, ideal für Server, die auch HTTP-Aufrufe tätigen. aleph basiert auf Netty für hochperformantes Async-I/O. Für ähnliche funktionale Sprachen siehe unseren curl zu Elixir Konverter oder curl zu OCaml.
Wie wird die Authentifizierung in Clojure gehandhabt?
Für Bearer-Auth fügen Sie Header hinzu: (client/get url {:headers {"Authorization" "Bearer token"}'}). Für Basic-Auth verwenden Sie die integrierte Option: {:basic-auth ["user" "pass"]}. clj-http unterstützt auch OAuth und Digest-Auth. curl2code konvertiert -u und Header-Flags in idiomatische Clojure-Maps.
Wie sendet man Multipart-Form-Daten in Clojure?
Verwenden Sie die :multipart-Option: (client/post url {:multipart [{:name "file" :content (clojure.java.io/file "doc.pdf")} {:name "desc" :content "My file"}]}). clj-http übernimmt die Boundary-Generierung und den Content-Type automatisch. curl2code konvertiert -F Flags in dieses Clojure-Muster.
Wie werden HTTP-Fehler in Clojure gehandhabt?
Standardmäßig wirft clj-http bei Nicht-2xx-Antworten eine ExceptionInfo. Deaktivieren Sie dies mit {:throw-exceptions false}, um stattdessen die Response-Map zu erhalten. Prüfen Sie (:status response). Verwenden Sie try/catch mit ex-data, um die Antwort aus Exceptions zu extrahieren.
Wie stellt man Async-HTTP-Anfragen in Clojure?
Verwenden Sie clj-http mit {:async? true}, was ein Future zurückgibt. Oder verwenden Sie http-kit: (http/get url callback). Für parallele Anfragen verwenden Sie pmap oder core.async-Channels. Clojure-Futures laufen auf dem JVM-Thread-Pool. Für ähnliche Nebenläufigkeit siehe curl zu Java.
Wie setzt man Timeouts in Clojure?
Übergeben Sie Timeout-Optionen: (client/get url {:connection-timeout 10000 :socket-timeout 30000}). Werte sind in Millisekunden. Für Wiederholungsversuche verwenden Sie die :retry-handler-Option oder umschließen Sie dies in einer benutzerdefinierten Retry-Funktion mit exponentiellem Backoff. Diese entsprechen den curl-Optionen --connect-timeout und --max-time.
Wie verwendet man einen Proxy in Clojure?
Setzen Sie den Proxy in der Options-Map: (client/get url {:proxy-host "proxy" :proxy-port 8080}). Für authentifizierte Proxys: Fügen Sie :proxy-user und :proxy-pass hinzu. clj-http unterstützt auch SOCKS-Proxys. curl2code konvertiert -x und --proxy Flags in die korrekten Clojure-Proxy-Optionen.
Wie sendet man eine POST-Anfrage mit JSON-Body in Clojure?
Konvertieren Sie einen curl POST Befehl wie curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL mit curl2code nach Clojure. Der generierte Code verwendet (client/post url {:content-type :json :body (json/generate-string data)}). curl2code erkennt automatisch -d/--data Flags mit JSON Inhalt und setzt den entsprechenden Content-Type Header im clj-http Code.
Wie fügt man eine Bearer Token Autorisierung in Clojure hinzu?
Übergeben Sie curl -H "Authorization: Bearer YOUR_TOKEN" URL an curl2code und es generiert clj-http Code mit dem Auth Header: :headers {'Authorization' 'Bearer YOUR_TOKEN'}. curl2code erkennt Bearer Tokens sowohl in -H "Authorization: Bearer ..." als auch in --oauth2-bearer Flags. Für Basic auth verwenden Sie -u user:pass.
Wie setzt man den Content-Type Header in Clojure?
curl2code konvertiert curl -H "Content-Type: application/json" URL in clj-http Code mit dem richtigen Header: :content-type :json. Bei -d Daten verwendet curl standardmäßig application/x-www-form-urlencoded; bei -F Formular-Uploads wird multipart/form-data verwendet. curl2code ordnet beides der korrekten clj-http API zu.
Nützliche Links
curl-Anleitungen
curl-Fehlercodes
Jeden curl-Exit-Code nachschlagen — Ursachen, Lösungen und Debugging-Tipps.
Dateien mit curl herunterladen
Dateien mit -o, -O speichern, Weiterleitungen folgen, Downloads fortsetzen und mehr.
SSL, TLS & Proxy
Zertifikate, TLS-Versionen, HTTP/SOCKS-Proxys und benutzerdefiniertes DNS konfigurieren.