Convertir curl en Lua
curl2code convertit les commandes curl en code Lua à l'aide de la bibliothèque http. La conversion s'exécute dans votre navigateur via WebAssembly pour une confidentialité totale. Pour Python, consultez notre convertisseur curl vers Python. Pour Ruby, voir curl vers Ruby. Vous trouverez ci-dessous des exemples Lua 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 Lua http ?
Le lua-http (ou socket.http de LuaSocket) est la manière standard de faire des requêtes HTTP en Lua. Il fournit des méthodes GET, POST et des méthodes de requête personnalisées de base. Pour plus de fonctionnalités, lua-resty-http est populaire dans les environnements OpenResty/Nginx. Installez avec luarocks install http. curl2code génère du code en utilisant le module http.
socket.http vs lua-resty-http vs lua-curl — lequel utiliser ?
socket.http (LuaSocket) est le standard pour le Lua général. lua-resty-http est destiné à OpenResty/Nginx avec des E/S non bloquantes. lua-curl enveloppe libcurl pour un support complet des protocoles. Utilisez socket.http pour les scripts autonomes, resty-http pour les serveurs web. Pour un script similaire, voir curl vers Python ou curl vers Ruby.
Comment gérer l'authentification en Lua ?
Définissez l'en-tête Authorization dans la table des en-têtes : headers = { Authorization = "Bearer token" }. Pour l'authentification Basic, encodez avec une bibliothèque base64 : "Basic " .. base64.encode(user .. ":" .. pass). Passez les en-têtes dans la table des options de requête. curl2code gère les drapeaux -u et d'en-tête.
Comment envoyer des données de formulaire multipart en Lua ?
Construisez le corps multipart manuellement avec des chaînes de délimitation, ou utilisez une bibliothèque d'aide comme multipart-post. Définissez l'en-tête Content-Type avec la délimitation. http.request de LuaSocket accepte une fonction source pour le streaming de gros téléversements. curl2code convertit les drapeaux -F vers la syntaxe Lua.
Comment gérer les erreurs HTTP en Lua ?
http.request de LuaSocket renvoie plusieurs valeurs : body, code, headers, status = http.request(url). Vérifiez code pour le statut HTTP (200, 404, etc.) ou nil en cas d'échec réseau. Utilisez le modèle assert() ou if not body then de Lua pour la vérification des erreurs.
Comment analyser le JSON en Lua ?
Utilisez le module cjson (rapide, basé sur C) : local data = cjson.decode(json_string). Pour l'encodage : cjson.encode(table). Dans OpenResty, cjson est pré-installé. Pour Lua autonome, installez avec luarocks install lua-cjson. Alternativement, utilisez dkjson en pur Lua.
Comment définir des délais d'expiration en Lua ?
Avec LuaSocket : définissez http.TIMEOUT = 30 globalement, ou créez une connexion personnalisée et appelez :settimeout(30). Dans lua-resty-http, utilisez httpc:set_timeout(30000) (millisecondes). Les délais d'expiration empêchent les scripts de rester bloqués indéfiniment sur des serveurs qui ne répondent pas.
Comment utiliser un proxy en Lua ?
Avec LuaSocket, définissez le champ proxy dans les options de requête : http.request{ url = target, proxy = "http://proxy:8080" }. Pour lua-resty-http, connectez-vous directement au proxy et utilisez la méthode CONNECT pour le tunnel HTTPS. curl2code convertit les drapeaux -x vers la configuration de proxy Lua appropriée.
Comment envoyer une requête POST avec un corps JSON en Lua ?
Convertissez une commande curl POST comme curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL en Lua en utilisant curl2code. Le code généré utilise http.request(url, json_body, headers). 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 http.
Comment ajouter une autorisation par jeton Bearer en Lua ?
Passez curl -H "Authorization: Bearer YOUR_TOKEN" URL à curl2code et il générera le code 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 Lua ?
curl2code convertit curl -H "Content-Type: application/json" URL en code http avec l'en-tête approprié : headers['Content-Type'] = 'application/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 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é.