Konverter curl til Clojure

curl2code konverterer curl-kommandoer til Clojure-kode ved hjælp af clj-http. Konverteringen kører i din browser via WebAssembly for fuldstændig privatliv. For Elixir, tjek vores curl til Elixir-konverter. For Java, se curl til Java. Nedenfor er praktiske Clojure-eksempler.

Sådan kopierer du curl fra din browser

  1. 1

    Åbn DevTools

    Tryk på F12 eller Ctrl+Shift+I for at åbne din browsers udviklerværktøjer.

  2. 2

    Gå til fanen Network

    Klik på fanen Network og udfør den handling, der udløser HTTP-anmodningen.

  3. 3

    Kopier som cURL

    Højreklik på anmodningen → CopyCopy as cURL. Indsæt den derefter ovenfor.

Ofte stillede spørgsmål

Hvad er clj-http?

clj-http er det mest populære HTTP-klientbibliotek til Clojure og indpakker Apache HttpComponents. Det giver en idiomatisk, datadrevet API med automatisk JSON/EDN-parsing, cookie-håndtering og connection pooling. Tilføj til project.clj: [clj-http "3.x"]. curl2code bruger clj-http til alle Clojure-konverteringer.

clj-http vs http-kit vs aleph — hvilken skal jeg bruge?

clj-http er synkron, funktionsrig og den mest udbredte. http-kit er letvægt med asynkron understøttelse, god til servere, der også foretager HTTP-kald. aleph er bygget på Netty til højtydende asynkron I/O. For lignende funktionelle sprog, se vores curl til Elixir-konverter eller curl til OCaml.

Hvordan håndteres godkendelse i Clojure?

For Bearer-auth skal du tilføje headere: (client/get url {:headers {"Authorization" "Bearer token"}'}). Til Basic auth skal du bruge den indbyggede indstilling: {:basic-auth ["user" "pass"]}. clj-http understøtter også OAuth og digest-auth. curl2code konverterer -u og header-flag til idiomatiske Clojure-maps.

Hvordan sender man multipart form-data i Clojure?

Brug :multipart-indstillingen: (client/post url {:multipart [{:name "file" :content (clojure.java.io/file "doc.pdf")} {:name "desc" :content "My file"}]}). clj-http håndterer automatisk boundary-generering og Content-Type. curl2code konverterer -F-flag til dette Clojure-mønster.

Hvordan håndteres HTTP-fejl i Clojure?

Som standard kaster clj-http ExceptionInfo ved ikke-2xx responser. Deaktiver med {:throw-exceptions false} for at få respons-mappet i stedet. Tjek (:status response). Brug try/catch med ex-data for at udtrække responset fra undtagelser.

Hvordan foretages asynkrone HTTP-anmodninger i Clojure?

Brug clj-http med {:async? true}, som returnerer en future. Eller brug http-kit: (http/get url callback). Til parallelle anmodninger skal du bruge pmap eller core.async-kanaler. Clojure-futures kører på JVM-trådpoolen. For lignende samtidighed, se curl til Java.

Hvordan indstilles timeouts i Clojure?

Send timeout-indstillinger: (client/get url {:connection-timeout 10000 :socket-timeout 30000}). Værdier er i millisekunder. For genforsøg skal du bruge :retry-handler-indstillingen eller indpakke i en brugerdefineret genforsøgsfunktion med eksponentiel backoff. Disse svarer til curls --connect-timeout og --max-time.

Hvordan bruges en proxy i Clojure?

Indstil proxy i indstillings-mappet: (client/get url {:proxy-host "proxy" :proxy-port 8080}). For godkendte proxier: tilføj :proxy-user og :proxy-pass. clj-http understøtter også SOCKS-proxier. curl2code konverterer -x og --proxy-flag til de korrekte Clojure-proxyindstillinger.

Hvordan sender man en POST-anmodning med JSON-body i Clojure?

Konverter en curl POST-kommando som curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL til Clojure ved hjælp af curl2code. Den genererede kode bruger (client/post url {:content-type :json :body (json/generate-string data)}). curl2code registrerer automatisk -d/--data-flag med JSON-indhold og indstiller den relevante Content-Type-header i clj-http-koden.

Hvordan tilføjer man Bearer token-autorisation i Clojure?

Send curl -H "Authorization: Bearer YOUR_TOKEN" URL til curl2code, og den genererer clj-http-kode med auth-headeren: :headers {'Authorization' 'Bearer YOUR_TOKEN'}. curl2code registrerer Bearer-tokens fra både -H "Authorization: Bearer ..." og --oauth2-bearer-flag. Til Basic auth skal du bruge -u user:pass.

Hvordan indstiller man Content-Type-headeren i Clojure?

curl2code konverterer curl -H "Content-Type: application/json" URL til clj-http-kode med den korrekte header: :content-type :json. For -d-data bruger curl som standard application/x-www-form-urlencoded; for -F-formular-uploads bruges multipart/form-data. curl2code mapper hver af disse til den korrekte clj-http API.

Nyttige links

curl-guider

Konverter curl til andre sprog