Convertir curl a Ruby
curl2code convierte comandos curl a código Ruby utilizando la librería estándar net/http. Todo se ejecuta localmente en su navegador a través de WebAssembly para una privacidad total. Si prefiere Python, consulte nuestro conversor de curl a Python. Para Elixir, vea curl a Elixir. A continuación se presentan ejemplos prácticos de Ruby.
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 Ruby net/http?
net/http de Ruby es el cliente HTTP de la biblioteca estándar incluido en cada instalación de Ruby. Maneja GET, POST, cargas multipart, SSL y encabezados personalizados. No se necesita instalar ninguna gema. curl2code también admite HTTParty, una gema popular que simplifica los patrones HTTP comunes con una API limpia y declarativa.
net/http vs HTTParty vs Faraday — ¿cuál debería usar?
net/http está integrado y no tiene dependencias; es ideal para tareas simples y scripts. HTTParty proporciona un DSL limpio con análisis automático de JSON. Faraday ofrece middleware, patrones de adaptador y la mayor flexibilidad. Para una simplicidad de scripting similar, consulta nuestro conversor de curl a Python o curl a PHP.
¿Cómo manejar la autenticación en Ruby?
Con net/http: request["Authorization"] = "Bearer token". Para autenticación Basic: request.basic_auth("user", "pass"). HTTParty usa headers: { "Authorization" => "Bearer token" } o basic_auth: { username: "user", password: "pass" }. curl2code maneja tanto -u como las etiquetas de encabezado.
¿Cómo enviar datos de formulario multipart en Ruby?
Con net/http, usa la gema multipart-post o construye el cuerpo multipart manualmente usando Net::HTTP::Post con cadenas de límite. HTTParty simplifica esto con body: { file: File.open("path") }. curl2code convierte las etiquetas -F para ambas variantes de biblioteca.
¿Cómo manejar errores HTTP en Ruby?
Con net/http, comprueba response.is_a?(Net::HTTPSuccess) o usa response.value, que lanza una excepción en estados que no sean 2xx. HTTParty devuelve un objeto de respuesta con los métodos .success? y .code. Para conexiones persistentes, rescata Errno::ECONNREFUSED y Net::ReadTimeout.
¿Cómo realizar solicitudes HTTP concurrentes en Ruby?
La biblioteca estándar de Ruby es síncrona. Usa Thread.new { ... } para una concurrencia básica o la gema concurrent-ruby para grupos de hilos. Para E/S asíncrona, usa async-http con la gema Async. Typhoeus proporciona colas de solicitudes en paralelo. Para soporte asíncrono integrado, consulta curl a Elixir.
¿Cómo establecer tiempos de espera en Ruby?
Con net/http: http.open_timeout = 10 (conexión) y http.read_timeout = 30 (respuesta). HTTParty acepta la opción timeout: 30. Estos se asignan a --connect-timeout y --max-time de curl. Establece siempre tiempos de espera para evitar solicitudes colgadas indefinidamente.
¿Cómo usar un proxy en Ruby?
Con net/http: Net::HTTP.new(host, port, proxy_host, proxy_port). O establece las variables de entorno http_proxy y https_proxy; Ruby las respeta automáticamente. HTTParty usa la opción http_proxy: 'http://proxy:8080'. curl2code convierte las etiquetas -x a la sintaxis de Ruby correcta.
¿Cómo enviar una solicitud POST con un cuerpo JSON en Ruby?
Convierte un comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL a Ruby usando curl2code. El código generado utiliza Net::HTTP.post(uri, data.to_json, 'Content-Type' => 'application/json'). curl2code detecta automáticamente los flags -d/--data con contenido JSON y establece el encabezado Content-Type adecuado en el código de net/http.
¿Cómo añadir autorización con token Bearer en Ruby?
Pasa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code y este generará código de net/http con el encabezado de autorización: req['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 Ruby?
curl2code convierte curl -H "Content-Type: application/json" URL a código de net/http con el encabezado correcto: req['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 net/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.