curl konvertálása Clojure nyelvre

A curl2code a clj-http használatával konvertálja a curl parancsokat Clojure kóddá. A konverzió a böngészőben fut WebAssembly segítségével a teljes adatvédelem érdekében. Elixir esetén nézze meg a curl to Elixir konverterünket. Java esetén lásd: curl to Java. Alább gyakorlati Clojure példákat talál.

Hogyan másoljuk ki a curl parancsot a böngészőből

  1. 1

    Nyissa meg a DevTools-t

    Nyomja meg az F12 billentyűt vagy a Ctrl+Shift+I a böngésző fejlesztői eszközeinek megnyitásához.

  2. 2

    Lépjen a Network fülre

    Kattintson a Network fülre, és hajtsa végre a HTTP kérést kiváltó műveletet.

  3. 3

    Másolás cURL-ként

    Kattintson a jobb gombbal a kérésre → CopyCopy as cURL. Ezután illessze be fent.

Gyakran Ismételt Kérdések

Mi az a clj-http?

A clj-http a legnépszerűbb HTTP kliens könyvtár Clojure-höz, amely az Apache HttpComponents-et csomagolja be. Idiomatikus, adatvezérelt API-t biztosít automatikus JSON/EDN feldolgozással, sütikezeléssel és kapcsolat-poolinggal. Add hozzá a project.clj fájlhoz: [clj-http "3.x"]. A curl2code a clj-http-t használja minden Clojure konverzióhoz.

clj-http vs http-kit vs aleph — melyiket használjam?

A clj-http szinkron, funkciógazdag és a legszélesebb körben használt. A http-kit könnyűsúlyú aszinkron támogatással, kiváló olyan szerverekhez, amelyek HTTP hívásokat is indítanak. Az aleph a Netty-re épül a nagy teljesítményű aszinkron I/O érdekében. Hasonló funkcionális nyelvekért lásd a curl to Elixir konvertáló vagy curl to OCaml eszközeinket.

Hogyan kezelhető a hitelesítés Clojure-ben?

Bearer auth esetén adj hozzá fejléceket: (client/get url {:headers {"Authorization" "Bearer token"}'}). Basic auth-hoz használd a beépített opciót: {:basic-auth ["user" "pass"]}. A clj-http támogatja az OAuth-ot és a digest auth-ot is. A curl2code a -u és fejléc flageket idiomatikus Clojure map-ekre konvertálja.

Hogyan küldhetők multipart form adatok Clojure-ben?

Használd a :multipart opciót: (client/post url {:multipart [{:name "file" :content (clojure.java.io/file "doc.pdf")} {:name "desc" :content "My file"}]}). A clj-http automatikusan kezeli a boundary generálást és a Content-Type-ot. A curl2code a -F flageket erre a Clojure mintára konvertálja.

Hogyan kezelhetők a HTTP hibák Clojure-ben?

Alapértelmezés szerint a clj-http ExceptionInfo-t dob nem 2xx válaszok esetén. Kapcsold ki a {:throw-exceptions false} opcióval, hogy helyette a válasz map-et kapd meg. Ellenőrizd a (:status response) értéket. Használj try/catch blokkot az ex-data függvénnyel a válasz kinyeréséhez a kivételekből.

Hogyan indíthatók aszinkron HTTP kérések Clojure-ben?

Használd a clj-http-t a {:async? true} opcióval, ami egy future-t ad vissza. Vagy használd a http-kit-et: (http/get url callback). Párhuzamos kérésekhez használd a pmap függvényt vagy core.async csatornákat. A Clojure future-ök a JVM szálpoolján futnak. Hasonló párhuzamosságért lásd: curl to Java.

Hogyan állítható be időtúllépés Clojure-ben?

Add át az időtúllépési opciókat: (client/get url {:connection-timeout 10000 :socket-timeout 30000}). Az értékek ezredmásodpercben értendők. Újrapróbálkozásokhoz használd a :retry-handler opciót, vagy csomagold egy egyedi újrapróbálkozási függvénybe exponenciális visszalépéssel. Ezek a curl --connect-timeout és --max-time opcióinak felelnek meg.

Hogyan használható proxy Clojure-ben?

Állítsd be a proxyt az opciós map-ben: (client/get url {:proxy-host "proxy" :proxy-port 8080}). Hitelesített proxykhoz: add hozzá a :proxy-user és :proxy-pass kulcsokat. A clj-http támogatja a SOCKS proxykat is. A curl2code a -x és --proxy flageket a megfelelő Clojure proxy opciókra konvertálja.

Hogyan küldhető POST kérés JSON törzzsel Clojure nyelven?

Konvertáljon egy olyan curl POST parancsot, mint a curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, Clojure kódra a curl2code segítségével. A generált kód a (client/post url {:content-type :json :body (json/generate-string data)}) megoldást használja. A curl2code automatikusan felismeri a JSON tartalmú -d/--data flageket, és beállítja a megfelelő Content-Type fejlécet a clj-http kódban.

Hogyan adható hozzá Bearer token hitelesítés Clojure nyelven?

Adja át a curl -H "Authorization: Bearer YOUR_TOKEN" URL parancsot a curl2code eszköznek, és az legenerálja a clj-http kódot az auth fejléccel: :headers {'Authorization' 'Bearer YOUR_TOKEN'}. A curl2code felismeri a Bearer tokeneket a -H "Authorization: Bearer ..." és a --oauth2-bearer flagekből is. Basic auth esetén használja a -u user:pass kapcsolót.

Hogyan állítható be a Content-Type fejléc Clojure nyelven?

A curl2code a curl -H "Content-Type: application/json" URL parancsot a megfelelő fejléccel ellátott clj-http kódra konvertálja: :content-type :json. A -d adatoknál a curl alapértelmezés szerint az application/x-www-form-urlencoded értéket használja; a -F űrlapfeltöltéseknél pedig a multipart/form-data értéket. A curl2code mindegyiket a megfelelő clj-http API-hoz rendeli.

Hasznos linkek

curl útmutatók

curl konvertálása más nyelvekre