Converteer curl naar Clojure

curl2code converteert curl-opdrachten naar Clojure-code met clj-http. De conversie wordt in je browser uitgevoerd via WebAssembly voor volledige privacy. Voor Elixir, bekijk onze curl naar Elixir-converter. Voor Java, zie curl naar Java. Hieronder staan praktische Clojure-voorbeelden.

Hoe je curl kopieert vanuit je browser

  1. 1

    Open Ontwikkelaarstools

    Druk op F12 of Ctrl+Shift+I om de ontwikkelaarstools van je browser te openen.

  2. 2

    Ga naar het tabblad Netwerk

    Klik op het tabblad Netwerk en voer de actie uit die het HTTP-verzoek activeert.

  3. 3

    Kopiëren als cURL

    Klik met de rechtermuisknop op het verzoek → KopiërenKopiëren als cURL. Plak het vervolgens hierboven.

Veelgestelde vragen

Wat is clj-http?

clj-http is de populairste HTTP-clientbibliotheek voor Clojure, die Apache HttpComponents omwikkelt. Het biedt een idiomatische, datagestuurde API met automatische JSON/EDN-parsing, cookiebeheer en connection pooling. Voeg toe aan project.clj: [clj-http "3.x"]. curl2code gebruikt clj-http voor alle Clojure-conversies.

clj-http vs http-kit vs aleph — welke te gebruiken?

clj-http is synchroon, rijk aan functies en het meest gebruikt. http-kit is lichtgewicht met async-ondersteuning, ideaal voor servers die ook HTTP-aanroepen doen. aleph is gebouwd op Netty voor krachtige async I/O. Zie voor vergelijkbare functionele talen onze curl naar Elixir-converter of curl naar OCaml.

Hoe ga je om met authenticatie in Clojure?

Voeg voor Bearer-auth headers toe: (client/get url {:headers {"Authorization" "Bearer token"}'}). Gebruik voor Basic auth de ingebouwde optie: {:basic-auth ["user" "pass"]}. clj-http ondersteunt ook OAuth en digest-auth. curl2code zet -u en header-vlaggen om naar idiomatische Clojure-maps.

Hoe verstuur je multipart form-data in Clojure?

Gebruik de :multipart optie: (client/post url {:multipart [{:name "file" :content (clojure.java.io/file "doc.pdf")} {:name "desc" :content "My file"}]}). clj-http verwerkt boundary-generatie en Content-Type automatisch. curl2code zet -F vlaggen om naar dit Clojure-patroon.

Hoe ga je om met HTTP-fouten in Clojure?

Standaard gooit clj-http ExceptionInfo bij niet-2xx responses. Schakel dit uit met {:throw-exceptions false} om in plaats daarvan de response-map te krijgen. Controleer (:status response). Gebruik try/catch met ex-data om de respons uit uitzonderingen te extraheren.

Hoe maak je async HTTP-verzoeken in Clojure?

Gebruik clj-http met {:async? true} wat een future retourneert. Of gebruik http-kit: (http/get url callback). Gebruik voor parallelle verzoeken pmap of core.async kanalen. Clojure futures draaien op de JVM thread pool. Zie voor vergelijkbare gelijktijdigheid curl naar Java.

Hoe stel je timeouts in in Clojure?

Geef timeout-opties door: (client/get url {:connection-timeout 10000 :socket-timeout 30000}). Waarden zijn in milliseconden. Gebruik voor herhalingen de :retry-handler optie of wikkel in een aangepaste herhaalfunctie met exponentiële backoff. Deze komen overeen met curl's --connect-timeout en --max-time.

Hoe gebruik je een proxy in Clojure?

Stel de proxy in de optie-map in: (client/get url {:proxy-host "proxy" :proxy-port 8080}). Voor geauthenticeerde proxies: voeg :proxy-user en :proxy-pass toe. clj-http ondersteunt ook SOCKS-proxies. curl2code zet -x en --proxy vlaggen om naar de juiste Clojure proxy-opties.

Hoe verstuur je een POST-verzoek met een JSON body in Clojure?

Converteer een curl POST-commando zoals curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL naar Clojure met curl2code. De gegenereerde code gebruikt (client/post url {:content-type :json :body (json/generate-string data)}). curl2code detecteert automatisch -d/--data flags met JSON-inhoud en stelt de juiste Content-Type header in de clj-http code in.

Hoe voeg je Bearer token autorisatie toe in Clojure?

Geef curl -H "Authorization: Bearer YOUR_TOKEN" URL door aan curl2code en het genereert clj-http code met de auth header: :headers {'Authorization' 'Bearer YOUR_TOKEN'}. curl2code detecteert Bearer tokens van zowel -H "Authorization: Bearer ..." als --oauth2-bearer flags. Gebruik voor Basic auth -u user:pass.

Hoe stel je de Content-Type header in in Clojure?

curl2code converteert curl -H "Content-Type: application/json" URL naar clj-http code met de juiste header: :content-type :json. Voor -d data gebruikt curl standaard application/x-www-form-urlencoded; voor -F formulier-uploads wordt multipart/form-data gebruikt. curl2code koppelt elk type aan de juiste clj-http API.

Handige links

curl handleidingen

Converteer curl naar andere talen