Convertir curl en Clojure
curl2code convertit les commandes curl en code Clojure à l'aide de clj-http. La conversion s'exécute dans votre navigateur via WebAssembly pour une confidentialité totale. Pour Elixir, consultez notre convertisseur curl vers Elixir. Pour Java, voir curl vers Java. Vous trouverez ci-dessous des exemples Clojure pratiques.
Comment copier curl depuis votre navigateur
- 1
Ouvrir les DevTools
Appuyez sur F12 ou Ctrl+Shift+I pour ouvrir les outils de développement de votre navigateur.
- 2
Aller dans l'onglet Network
Cliquez sur l'onglet Network et effectuez l'action qui déclenche la requête HTTP.
- 3
Copier comme cURL
Faites un clic droit sur la requête → Copy → Copy as cURL. Collez-la ensuite ci-dessus.
Foire Aux Questions
Qu'est-ce que clj-http ?
clj-http est la bibliothèque client HTTP la plus populaire pour Clojure, enveloppant Apache HttpComponents. Elle fournit une API idiomatique pilotée par les données avec analyse automatique JSON/EDN, gestion des cookies et regroupement de connexions. Ajoutez à project.clj : [clj-http "3.x"]. curl2code utilise clj-http pour toutes les conversions Clojure.
clj-http vs http-kit vs aleph — lequel utiliser ?
clj-http est synchrone, riche en fonctionnalités et le plus utilisé. http-kit est léger avec support asynchrone, idéal pour les serveurs qui font également des appels HTTP. aleph est construit sur Netty pour des E/S asynchrones haute performance. Pour des langages fonctionnels similaires, consultez notre convertisseur curl vers Elixir ou curl vers OCaml.
Comment gérer l'authentification en Clojure ?
Pour l'authentification Bearer, ajoutez des en-têtes : (client/get url {:headers {"Authorization" "Bearer token"}'}). Pour l'authentification Basic, utilisez l'option intégrée : {:basic-auth ["user" "pass"]}. clj-http prend également en charge OAuth et l'authentification digest. curl2code convertit les drapeaux -u et d'en-tête en maps Clojure idiomatiques.
Comment envoyer des données de formulaire multipart en Clojure ?
Utilisez l'option :multipart : (client/post url {:multipart [{:name "file" :content (clojure.java.io/file "doc.pdf")} {:name "desc" :content "My file"}]}). clj-http gère automatiquement la génération de délimitation et le Content-Type. curl2code convertit les drapeaux -F vers ce modèle Clojure.
Comment gérer les erreurs HTTP en Clojure ?
Par défaut, clj-http lève une ExceptionInfo sur les réponses non-2xx. Désactivez avec {:throw-exceptions false} pour obtenir la map de réponse à la place. Vérifiez (:status response). Utilisez try/catch avec ex-data pour extraire la réponse des exceptions.
Comment faire des requêtes HTTP asynchrones en Clojure ?
Utilisez clj-http avec {:async? true} qui renvoie un future. Ou utilisez http-kit : (http/get url callback). Pour les requêtes parallèles, utilisez pmap ou les canaux core.async. Les futures Clojure s'exécutent sur le pool de threads de la JVM. Pour une concurrence similaire, voir curl vers Java.
Comment définir des délais d'expiration en Clojure ?
Passez les options de délai d'expiration : (client/get url {:connection-timeout 10000 :socket-timeout 30000}). Les valeurs sont en millisecondes. Pour les tentatives, utilisez l'option :retry-handler ou enveloppez dans une fonction de tentative personnalisée avec recul exponentiel. Ceux-ci correspondent à --connect-timeout et --max-time de curl.
Comment utiliser un proxy en Clojure ?
Définissez le proxy dans la map d'options : (client/get url {:proxy-host "proxy" :proxy-port 8080}). Pour les proxys authentifiés : ajoutez :proxy-user et :proxy-pass. clj-http prend également en charge les proxys SOCKS. curl2code convertit les drapeaux -x et --proxy vers les options de proxy Clojure correctes.
Comment envoyer une requête POST avec un corps JSON en Clojure ?
Convertissez une commande curl POST comme curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL en Clojure en utilisant curl2code. Le code généré utilise (client/post url {:content-type :json :body (json/generate-string data)}). curl2code détecte automatiquement les drapeaux -d/--data avec du contenu JSON et définit l'en-tête Content-Type approprié dans le code clj-http.
Comment ajouter une autorisation par jeton Bearer en Clojure ?
Passez curl -H "Authorization: Bearer YOUR_TOKEN" URL à curl2code et il générera le code clj-http avec l'en-tête d'authentification : :headers {'Authorization' 'Bearer YOUR_TOKEN'}. curl2code détecte les jetons Bearer à partir des drapeaux -H "Authorization: Bearer ..." et --oauth2-bearer. Pour le Basic auth, utilisez -u user:pass.
Comment définir l''en-tête Content-Type en Clojure ?
curl2code convertit curl -H "Content-Type: application/json" URL en code clj-http avec l'en-tête approprié : :content-type :json. Pour les données -d, curl utilise par défaut application/x-www-form-urlencoded ; pour les téléchargements de formulaires -F, il utilise multipart/form-data. curl2code associe chacun à l'API clj-http correcte.
Liens utiles
Guides curl
Codes d'erreur curl
Recherchez n'importe quel code de sortie curl — causes, corrections et astuces de débogage.
Télécharger des fichiers avec curl
Enregistrez des fichiers avec -o, -O, suivez les redirections, reprenez les téléchargements et plus encore.
SSL, TLS et proxy
Configurez les certificats, les versions TLS, les proxys HTTP/SOCKS et le DNS personnalisé.