Convertir curl a Lua
curl2code convierte comandos curl a código Lua utilizando la librería http. La conversión se ejecuta en su navegador a través de WebAssembly para una privacidad total. Para Python, consulte nuestro conversor de curl a Python. Para Ruby, vea curl a Ruby. A continuación se presentan ejemplos prácticos de Lua.
Cómo copiar curl desde su navegador
- 1
Abrir DevTools
Presione F12 o Ctrl+Shift+I para abrir las herramientas de desarrollo de su navegador.
- 2
Vaya a la pestaña Network
Haga clic en la pestaña Network y realice la acción que activa la solicitud HTTP.
- 3
Copiar como cURL
Haga clic derecho en la solicitud → Copy → Copy as cURL. Luego péguelo arriba.
Preguntas frecuentes
¿Qué es Lua http?
lua-http (o socket.http de LuaSocket) es la forma estándar de realizar solicitudes HTTP en Lua. Proporciona métodos básicos de GET, POST y solicitudes personalizadas. Para más funciones, lua-resty-http es popular en entornos OpenResty/Nginx. Instálalo con luarocks install http. curl2code genera código usando el módulo http.
socket.http vs lua-resty-http vs lua-curl — ¿cuál usar?
socket.http (LuaSocket) es el estándar para Lua general. lua-resty-http es para OpenResty/Nginx con E/S no bloqueante. lua-curl envuelve libcurl para un soporte completo de protocolos. Usa socket.http para scripts independientes y resty-http para servidores web. Para scripting similar, consulta curl a Python o curl a Ruby.
¿Cómo manejar la autenticación en Lua?
Establece el encabezado Authorization en la tabla de encabezados: headers = { Authorization = "Bearer token" }. Para autenticación Basic, codifica con una biblioteca base64: "Basic " .. base64.encode(user .. ":" .. pass). Pasa los encabezados en la tabla de opciones de la solicitud. curl2code maneja los flags -u y de encabezado.
¿Cómo enviar datos de formulario multipart en Lua?
Construye el cuerpo multipart manualmente con cadenas de límite (boundary), o usa una biblioteca auxiliar como multipart-post. Establece el encabezado Content-Type con el límite. El http.request de LuaSocket acepta una función de origen para el streaming de subidas grandes. curl2code convierte los flags -F a la sintaxis de Lua.
¿Cómo manejar errores HTTP en Lua?
El http.request de LuaSocket devuelve múltiples valores: body, code, headers, status = http.request(url). Comprueba code para el estado HTTP (200, 404, etc.) o nil en caso de fallo de red. Usa el patrón assert() de Lua o if not body then para la comprobación de errores.
¿Cómo analizar JSON en Lua?
Usa el módulo cjson (rápido, basado en C): local data = cjson.decode(json_string). Para codificar: cjson.encode(table). En OpenResty, cjson viene preinstalado. Para Lua independiente, instálalo con luarocks install lua-cjson. Alternativamente, usa dkjson, que es puro Lua.
¿Cómo establecer tiempos de espera en Lua?
Con LuaSocket: establece http.TIMEOUT = 30 globalmente, o crea una conexión personalizada y llama a :settimeout(30). En lua-resty-http, usa httpc:set_timeout(30000) (milisegundos). Los tiempos de espera evitan que los scripts se cuelguen indefinidamente en servidores que no responden.
¿Cómo usar un proxy en Lua?
Con LuaSocket, establece el campo proxy en las opciones de la solicitud: http.request{ url = target, proxy = "http://proxy:8080" }. Para lua-resty-http, conéctate directamente al proxy y usa el método CONNECT para el túnel HTTPS. curl2code convierte los flags -x a la configuración de proxy de Lua adecuada.
¿Cómo enviar una solicitud POST con un cuerpo JSON en Lua?
Convierte un comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL a Lua usando curl2code. El código generado utiliza http.request(url, json_body, headers). curl2code detecta automáticamente los flags -d/--data con contenido JSON y establece el encabezado Content-Type adecuado en el código de http.
¿Cómo añadir autorización con token Bearer en Lua?
Pasa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code y este generará código de http con el encabezado de autorización: headers['Authorization'] = 'Bearer YOUR_TOKEN'. curl2code detecta tokens Bearer tanto en los flags -H "Authorization: Bearer ..." como en --oauth2-bearer. Para Basic auth, utiliza -u user:pass.
¿Cómo configurar el encabezado Content-Type en Lua?
curl2code convierte curl -H "Content-Type: application/json" URL a código de http con el encabezado correcto: headers['Content-Type'] = 'application/json'. Para los datos de -d, curl utiliza por defecto application/x-www-form-urlencoded; para subidas de formularios con -F, utiliza multipart/form-data. curl2code mapea cada uno a la API de http correcta.
Enlaces útiles
Guías de curl
Códigos de error de curl
Busca cualquier código de salida de curl — causas, soluciones y consejos de depuración.
Descargar archivos con curl
Guarda archivos con -o, -O, sigue redirecciones, reanuda descargas y más.
SSL, TLS y proxy
Configura certificados, versiones de TLS, proxies HTTP/SOCKS y DNS personalizado.