Prevod curl do Clojure

curl2code konvertuje curl príkazy na Clojure kód pomocou clj-http. Prevod prebieha vo vašom prehliadači cez WebAssembly pre úplné súkromie. Pre Elixir si pozrite náš prevodník curl do Elixiru. Pre Javu si pozrite curl do Javy. Nižšie sú praktické Clojure príklady.

Ako skopírovať curl z vášho prehliadača

  1. 1

    Otvorte DevTools

    Stlačte F12 alebo Ctrl+Shift+I na otvorenie vývojárskych nástrojov prehliadača.

  2. 2

    Prejdite na kartu Network

    Kliknite na kartu Network a vykonajte akciu, ktorá spustí HTTP požiadavku.

  3. 3

    Skopírovať ako cURL

    Kliknite pravým tlačidlom na požiadavku → CopyCopy as cURL. Potom ju prilepte vyššie.

Často kladené otázky

Čo je clj-http?

clj-http je najpopulárnejšia knižnica HTTP klienta pre Clojure, obaľujúca Apache HttpComponents. Poskytuje idiomatické, dátami riadené API s automatickým parsovaním JSON/EDN, správou cookies a poolingom pripojení. Pridajte do project.clj: [clj-http "3.x"]. curl2code používa clj-http pre všetky konverzie do Clojure.

clj-http vs http-kit vs aleph — čo použiť?

clj-http je synchrónny, bohatý na funkcie a najpoužívanejší. http-kit je ľahký s podporou asynchrónnosti, skvelý pre servery, ktoré tiež vytvárajú HTTP volania. aleph je postavený na Netty pre vysoko výkonné asynchrónne I/O. Pre podobné funkcionálne jazyky si pozrite náš konvertor curl do Elixiru alebo curl do OCaml.

Ako riešiť autentifikáciu v Clojure?

Pre Bearer auth pridajte hlavičky: (client/get url {:headers {"Authorization" "Bearer token"}'}). Pre Basic auth použite vstavanú voľbu: {:basic-auth ["user" "pass"]}. clj-http tiež podporuje OAuth a digest autentifikáciu. curl2code konvertuje prepínače -u a hlavičky na idiomatické mapy Clojure.

Ako posielať multipart form data v Clojure?

Použite voľbu :multipart: (client/post url {:multipart [{:name "file" :content (clojure.java.io/file "doc.pdf")} {:name "desc" :content "My file"}]}). clj-http automaticky zvláda generovanie boundary a Content-Type. curl2code konvertuje prepínače -F na tento vzor Clojure.

Ako riešiť HTTP chyby v Clojure?

Predvolene clj-http vyhadzuje ExceptionInfo pri odpovediach iných ako 2xx. Zakážte to pomocou {:throw-exceptions false}, aby ste namiesto toho získali mapu odpovede. Skontrolujte (:status response). Použite try/catch s ex-data na extrahovanie odpovede z výnimiek.

Ako vytvárať asynchrónne HTTP požiadavky v Clojure?

Použite clj-http s {:async? true}, čo vráti future. Alebo použite http-kit: (http/get url callback). Pre paralelné požiadavky použite pmap alebo kanály core.async. Clojure futures bežia na thread poole JVM. Pre podobnú súbežnosť si pozrite curl do Javy.

Ako nastaviť timeouty v Clojure?

Odovzdajte voľby timeoutu: (client/get url {:connection-timeout 10000 :socket-timeout 30000}). Hodnoty sú v milisekundách. Pre opakovania použite voľbu :retry-handler alebo zabaľte do vlastnej funkcie opakovania s exponenciálnym odstupom. Tieto sa mapujú na curl --connect-timeout a --max-time.

Ako používať proxy v Clojure?

Nastavte proxy v mape volieb: (client/get url {:proxy-host "proxy" :proxy-port 8080}). Pre autentifikované proxy: pridajte :proxy-user a :proxy-pass. clj-http tiež podporuje SOCKS proxy. curl2code konvertuje prepínače -x a --proxy na správne voľby proxy v Clojure.

Ako poslať POST požiadavku s JSON telom v jazyku Clojure?

Preveďte curl POST príkaz ako curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL do jazyka Clojure pomocou curl2code. Vygenerovaný kód používa (client/post url {:content-type :json :body (json/generate-string data)}). curl2code automaticky deteguje prepínače -d/--data s JSON obsahom a nastaví príslušnú hlavičku Content-Type v kóde pre clj-http.

Ako pridať autorizáciu pomocou Bearer tokenu v jazyku Clojure?

Vložte curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code a nástroj vygeneruje kód pre clj-http s autorizačnou hlavičkou: :headers {'Authorization' 'Bearer YOUR_TOKEN'}. curl2code deteguje Bearer tokeny z prepínačov -H "Authorization: Bearer ..." aj --oauth2-bearer. Pre Basic auth použite -u user:pass.

Ako nastaviť hlavičku Content-Type v jazyku Clojure?

curl2code konvertuje curl -H "Content-Type: application/json" URL na kód pre clj-http so správnou hlavičkou: :content-type :json. Pre dáta v -d curl predvolene používa application/x-www-form-urlencoded; pre nahrávanie formulárov cez -F používa multipart/form-data. curl2code mapuje každý z nich na správne API pre clj-http.

Užitočné odkazy

Príručky pre curl

Prevod curl do iných jazykov