Konwertuj curl na Clojure

curl2code konwertuje polecenia curl na kod Clojure przy użyciu clj-http. Konwersja odbywa się w przeglądarce poprzez WebAssembly, zapewniając pełną prywatność. W przypadku Elixir, sprawdź nasz konwerter curl na Elixir. W przypadku Java, zobacz curl na Java. Poniżej znajdują się praktyczne przykłady w Clojure.

Jak skopiować polecenie curl z przeglądarki

  1. 1

    Otwórz DevTools

    Naciśnij F12 lub Ctrl+Shift+I, aby otworzyć narzędzia programistyczne przeglądarki.

  2. 2

    Przejdź do karty Sieć

    Kliknij kartę Sieć i wykonaj akcję, która wywołuje żądanie HTTP.

  3. 3

    Kopiuj jako cURL

    Kliknij żądanie prawym przyciskiem myszy → KopiujKopiuj jako cURL. Następnie wklej je powyżej.

Najczęściej zadawane pytania

Czym jest clj-http?

clj-http to najpopularniejsza biblioteka klienta HTTP dla Clojure, owijająca Apache HttpComponents. Zapewnia idiomatyczne, oparte na danych API z automatycznym parsowaniem JSON/EDN, zarządzaniem plikami cookie i pulą połączeń. Dodaj do project.clj: [clj-http "3.x"]. curl2code używa clj-http dla wszystkich konwersji Clojure.

clj-http vs http-kit vs aleph — którego użyć?

clj-http jest synchroniczny, bogaty w funkcje i najczęściej używany. http-kit jest lekki, wspiera asynchroniczność i świetnie nadaje się dla serwerów wykonujących wywołania HTTP. aleph bazuje na Netty dla wysokowydajnego asynchronicznego I/O. Podobne języki funkcyjne znajdziesz w naszym konwerterze curl na Elixir lub curl na OCaml.

Jak obsługiwać uwierzytelnianie w Clojure?

Dla uwierzytelniania Bearer dodaj nagłówki: (client/get url {:headers {"Authorization" "Bearer token"}'}). Dla uwierzytelniania Basic użyj wbudowanej opcji: {:basic-auth ["user" "pass"]}. clj-http wspiera również OAuth i digest auth. curl2code konwertuje flagi -u i nagłówki na idiomatyczne mapy Clojure.

Jak wysyłać dane formularza multipart w Clojure?

Użyj opcji :multipart: (client/post url {:multipart [{:name "file" :content (clojure.java.io/file "doc.pdf")} {:name "desc" :content "My file"}]}). clj-http automatycznie obsługuje generowanie boundary i Content-Type. curl2code konwertuje flagi -F na ten wzorzec Clojure.

Jak obsługiwać błędy HTTP w Clojure?

Domyślnie clj-http rzuca ExceptionInfo przy odpowiedziach innych niż 2xx. Wyłącz to za pomocą {:throw-exceptions false}, aby zamiast tego otrzymać mapę odpowiedzi. Sprawdź (:status response). Użyj try/catch z ex-data, aby wyodrębnić odpowiedź z wyjątków.

Jak wykonywać asynchroniczne żądania HTTP w Clojure?

Użyj clj-http z {:async? true}, co zwraca future. Możesz też użyć http-kit: (http/get url callback). Dla żądań równoległych użyj pmap lub kanałów core.async. Clojure futures działają na puli wątków JVM. Podobną współbieżność znajdziesz w curl na Java.

Jak ustawić limity czasu w Clojure?

Przekaż opcje limitu czasu: (client/get url {:connection-timeout 10000 :socket-timeout 30000}). Wartości są w milisekundach. Dla ponowień użyj opcji :retry-handler lub owiń w niestandardową funkcję ponawiania z wykładniczym wycofaniem. Odpowiada to opcjom --connect-timeout i --max-time w curl.

Jak używać proxy w Clojure?

Ustaw proxy w mapie opcji: (client/get url {:proxy-host "proxy" :proxy-port 8080}). Dla proxy z uwierzytelnianiem dodaj :proxy-user i :proxy-pass. clj-http wspiera również proxy SOCKS. curl2code konwertuje flagi -x i --proxy na poprawne opcje proxy Clojure.

Jak wysłać żądanie POST z ciałem JSON w języku Clojure?

Konwertuj polecenie curl POST, takie jak curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL na kod Clojure za pomocą curl2code. Wygenerowany kod używa (client/post url {:content-type :json :body (json/generate-string data)}). curl2code automatycznie wykrywa flagi -d/--data z zawartością JSON i ustawia odpowiedni nagłówek Content-Type w kodzie clj-http.

Jak dodać autoryzację Bearer token w języku Clojure?

Przekaż curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code, a narzędzie wygeneruje kod clj-http z nagłówkiem autoryzacji: :headers {'Authorization' 'Bearer YOUR_TOKEN'}. curl2code wykrywa tokeny Bearer zarówno z flag -H "Authorization: Bearer ...", jak i --oauth2-bearer. W przypadku Basic auth użyj -u user:pass.

Jak ustawić nagłówek Content-Type w języku Clojure?

curl2code konwertuje curl -H "Content-Type: application/json" URL na kod clj-http z właściwym nagłówkiem: :content-type :json. Dla danych -d curl domyślnie ustawia application/x-www-form-urlencoded; dla przesyłania formularzy -F używa multipart/form-data. curl2code mapuje każde z nich na odpowiednie API clj-http.

Przydatne linki

Poradniki curl

Konwertuj curl na inne języki