Converter curl para Clojure
O curl2code converte comandos curl para código Clojure utilizando clj-http. A conversão é executada no seu navegador através de WebAssembly para total privacidade. Para Elixir, consulte o nosso conversor de curl para Elixir. Para Java, veja curl para Java. Abaixo encontram-se exemplos práticos de Clojure.
Como copiar o curl do seu navegador
- 1
Abrir as DevTools
Prima F12 ou Ctrl+Shift+I para abrir as ferramentas de programador do seu navegador.
- 2
Ir para o separador Network
Clique no separador Network e realize a ação que despoleta o pedido HTTP.
- 3
Copiar como cURL
Clique com o botão direito no pedido → Copy → Copy as cURL. Depois cole-o acima.
Perguntas Frequentes
O que é o clj-http?
clj-http é a biblioteca de cliente HTTP mais popular para Clojure, envolvendo o Apache HttpComponents. Fornece uma API idiomática e orientada a dados com análise automática de JSON/EDN, gestão de cookies e pooling de ligações. Adicione ao project.clj: [clj-http "3.x"]. O curl2code utiliza clj-http para todas as conversões Clojure.
clj-http vs http-kit vs aleph — qual usar?
clj-http é síncrono, rico em funcionalidades e o mais amplamente utilizado. http-kit é leve com suporte assíncrono, excelente para servidores que também fazem chamadas HTTP. aleph é construído sobre Netty para I/O assíncrono de alto desempenho. Para linguagens funcionais semelhantes, consulte o nosso conversor de curl para Elixir ou curl para OCaml.
Como gerir a autenticação em Clojure?
Para autenticação Bearer, adicione cabeçalhos: (client/get url {:headers {"Authorization" "Bearer token"}'}). Para autenticação Basic, use a opção integrada: {:basic-auth ["user" "pass"]}. O clj-http também suporta OAuth e autenticação digest. O curl2code converte as flags -u e de cabeçalho para mapas Clojure idiomáticos.
Como enviar dados de formulário multipart em Clojure?
Use a opção :multipart: (client/post url {:multipart [{:name "file" :content (clojure.java.io/file "doc.pdf")} {:name "desc" :content "My file"}]}). O clj-http gere a geração de boundary e o Content-Type automaticamente. O curl2code converte as flags -F para este padrão Clojure.
Como gerir erros HTTP em Clojure?
Por padrão, o clj-http lança ExceptionInfo em respostas não-2xx. Desative com {:throw-exceptions false} para obter o mapa de resposta em vez disso. Verifique (:status response). Use try/catch com ex-data para extrair a resposta das exceções.
Como fazer pedidos HTTP assíncronos em Clojure?
Use clj-http com {:async? true} que devolve um future. Ou use http-kit: (http/get url callback). Para pedidos paralelos, use pmap ou canais core.async. Os futures do Clojure correm no thread pool da JVM. Para concorrência semelhante, consulte curl para Java.
Como definir timeouts em Clojure?
Passe as opções de timeout: (client/get url {:connection-timeout 10000 :socket-timeout 30000}). Os valores são em milissegundos. Para repetições, use a opção :retry-handler ou envolva numa função de repetição personalizada com backoff exponencial. Estes mapeiam para --connect-timeout e --max-time do curl.
Como usar um proxy em Clojure?
Defina o proxy no mapa de opções: (client/get url {:proxy-host "proxy" :proxy-port 8080}). Para proxies autenticados: adicione :proxy-user e :proxy-pass. O clj-http também suporta proxies SOCKS. O curl2code converte as flags -x e --proxy para as opções de proxy Clojure corretas.
Como enviar um pedido POST com um corpo JSON em Clojure?
Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL para Clojure usando o curl2code. O código gerado utiliza (client/post url {:content-type :json :body (json/generate-string data)}). O curl2code deteta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código clj-http.
Como adicionar autorização com token Bearer em Clojure?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e este gera código clj-http com o cabeçalho de autenticação: :headers {'Authorization' 'Bearer YOUR_TOKEN'}. O curl2code deteta tokens Bearer tanto de flags -H "Authorization: Bearer ..." como de --oauth2-bearer. Para Basic auth, utilize -u user:pass.
Como definir o cabeçalho Content-Type em Clojure?
O curl2code converte curl -H "Content-Type: application/json" URL para código clj-http com o cabeçalho correto: :content-type :json. Para dados -d, o curl assume por defeito application/x-www-form-urlencoded; para envios de formulários -F, utiliza multipart/form-data. O curl2code mapeia cada um para a API clj-http correta.
Links Úteis
Guias do curl
Códigos de erro do curl
Consulte qualquer código de saída do curl — causas, correções e dicas de depuração.
Transferir ficheiros com curl
Guarde ficheiros com -o, -O, siga redirecionamentos, retome transferências e mais.
SSL, TLS e proxy
Configure certificados, versões TLS, proxies HTTP/SOCKS e DNS personalizado.