Muunna curl kielelle Clojure

curl2code muuntaa curl-komennot Clojure-koodiksi käyttäen clj-http-kirjastoa. Muunnos tapahtuu selaimessasi WebAssemblyn kautta täydellisen yksityisyyden takaamiseksi. Elixirille, katso curl to Elixir -muunnin. Javalle, katso curl to Java. Alta löydät käytännön Clojure-esimerkkejä.

Kuinka kopioida curl selaimestasi

  1. 1

    Avaa kehittäjätyökalut

    Paina F12 tai Ctrl+Shift+I avataksesi selaimen kehittäjätyökalut.

  2. 2

    Siirry Network-välilehdelle

    Napsauta Network-välilehteä ja suorita toiminto, joka käynnistää HTTP-pyynnön.

  3. 3

    Kopioi cURL-muodossa

    Napsauta pyyntöä hiiren kakkospainikkeella → CopyCopy as cURL. Liitä se sitten yläpuolelle.

Usein kysytyt kysymykset

Mikä on clj-http?

clj-http on Clojuren suosituin HTTP-asiakaskirjasto, joka käärii Apache HttpComponents -kirjaston. Se tarjoaa idiomaattisen, datavetoisen API:n automaattisella JSON/EDN-jäsennyksellä, evästeiden hallinnalla ja yhteyksien poolauksella. Lisää project.clj-tiedostoon: [clj-http "3.x"]. curl2code käyttää clj-http:tä kaikissa Clojure-muunnoksissa.

clj-http vs http-kit vs aleph — mitä käyttää?

clj-http on synkroninen, ominaisuusrikas ja laajimmin käytetty. http-kit on kevyt ja tukee asynkronisuutta, sopii hyvin palvelimille, jotka tekevät myös HTTP-kutsuja. aleph perustuu Nettyyn ja on tarkoitettu korkean suorituskyvyn asynkroniseen I/O:hon. Katso vastaavia funktionaalisia kieliä curl to Elixir -muuntimestamme tai curl to OCaml -muuntimestamme.

Miten autentikointi hoidetaan Clojuressa?

Bearer-autentikointiin lisää otsakkeet: (client/get url {:headers {"Authorization" "Bearer token"}'}). Basic-autentikointiin käytä sisäänrakennettua asetusta: {:basic-auth ["user" "pass"]}. clj-http tukee myös OAuth- ja digest-autentikointia. curl2code muuntaa -u ja otsakeliput idiomaattisiksi Clojure-mapeiksi.

Miten lähetetään multipart-lomakedataa Clojuressa?

Käytä :multipart-asetusta: (client/post url {:multipart [{:name "file" :content (clojure.java.io/file "doc.pdf")} {:name "desc" :content "My file"}]}). clj-http hoitaa boundary-generoinnin ja Content-Type-otsakkeen automaattisesti. curl2code muuntaa -F-liput tähän Clojure-malliin.

Miten HTTP-virheet hoidetaan Clojuressa?

Oletuksena clj-http heittää ExceptionInfo-poikkeuksen muista kuin 2xx-vastauksista. Poista tämä käytöstä asetuksella {:throw-exceptions false} saadaksesi vastauskartan suoraan. Tarkista (:status response). Käytä try/catch-rakennetta ex-data-funktion kanssa poimiaksesi vastauksen poikkeuksesta.

Miten tehdään asynkronisia HTTP-pyyntöjä Clojuressa?

Käytä clj-http-kirjastoa asetuksella {:async? true}, joka palauttaa future-olion. Tai käytä http-kit-kirjastoa: (http/get url callback). Rinnakkaisiin pyyntöihin käytä pmap-funktiota tai core.async-kanavia. Clojure-futuret ajetaan JVM:n säiepoolissa. Katso vastaavaa rinnakkaisuutta kohdasta curl to Java.

Miten aikakatkaisut asetetaan Clojuressa?

Välitä aikakatkaisuasetukset: (client/get url {:connection-timeout 10000 :socket-timeout 30000}). Arvot ovat millisekunteina. Uudelleenyrityksiin käytä :retry-handler-asetusta tai kääri kutsu mukautettuun funktioon, jossa on eksponentiaalinen viive. Nämä vastaavat curlin --connect-timeout ja --max-time -valintoja.

Miten välityspalvelinta käytetään Clojuressa?

Aseta välityspalvelin asetusmapissa: (client/get url {:proxy-host "proxy" :proxy-port 8080}). Autentikoiduille välityspalvelimille: lisää :proxy-user ja :proxy-pass. clj-http tukee myös SOCKS-välityspalvelimia. curl2code muuntaa -x ja --proxy -liput oikeiksi Clojure-välityspalvelinasetuksiksi.

Miten lähetetään POST-pyyntö JSON-rungolla Clojure-kielellä?

Muunna curl POST -komento kuten curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL Clojure-koodiksi curl2code-työkalulla. Luotu koodi käyttää (client/post url {:content-type :json :body (json/generate-string data)}). curl2code tunnistaa automaattisesti -d/--data-liput JSON-sisällöllä ja asettaa oikean Content-Type-otsikon clj-http-koodiin.

Miten lisätään Bearer-token-valtuutus Clojure-kielellä?

Syötä curl -H "Authorization: Bearer YOUR_TOKEN" URL curl2code-työkaluun, ja se luo clj-http-koodin valtuutusotsikolla: :headers {'Authorization' 'Bearer YOUR_TOKEN'}. curl2code tunnistaa Bearer-tokenit sekä -H "Authorization: Bearer ..."- että --oauth2-bearer-lipuista. Käytä Basic auth -valtuutukseen -u user:pass.

Miten asetetaan Content-Type-otsikko Clojure-kielellä?

curl2code muuntaa curl -H "Content-Type: application/json" URL clj-http-koodiksi oikealla otsikolla: :content-type :json. -d-datalle curl käyttää oletuksena application/x-www-form-urlencoded; -F-lomakelatauksille se käyttää multipart/form-data. curl2code yhdistää kunkin oikeaan clj-http API -kutsuun.

Hyödyllisiä linkkejä

curl-oppaat

Muunna curl muille kielille