cURL to Ruby
Convierte un comando curl a Ruby Net::HTTP
Acerca de cURL to Ruby
Escribe código Ruby con Net::HTTP de la biblioteca estándar, así que no hay gemas que instalar. El script activa use_ssl para URLs https, asigna -u a req.basic_auth, -k a VERIFY_NONE y -F a set_form_data, y luego imprime JSON.parse(res.body). Tu comando cURL se convierte localmente en el navegador y no se envía a ningún servidor.
Categoría: API.
Preguntas frecuentes
¿Necesito alguna gema para ejecutar el código Ruby?
▾
No. Solo requiere net/http, uri y json de la biblioteca estándar de Ruby, crea el objeto HTTP con Net::HTTP.new, activa use_ssl para URLs https y envía un objeto de petición como Net::HTTP::Get o Net::HTTP::Post. La última línea imprime JSON.parse(res.body), así que cámbiala si la API devuelve texto plano.
¿Cómo se traducen -u y -k a Net::HTTP?
▾
-u usuario:clave se convierte en req.basic_auth 'usuario', 'clave', y también se escribe una línea con el encabezado Authorization equivalente. -k define http.verify_mode = OpenSSL::SSL::VERIFY_NONE, que desactiva la verificación de certificados, así que úsalo solo con servidores locales o de prueba.
¿Por qué el código Ruby envía los campos -F codificados como URL?
▾
Porque se pasan a req.set_form_data, que los codifica como application/x-www-form-urlencoded y no como multipart. Para peticiones multipart o subida de archivos, usa req.set_form con 'multipart/form-data'; un valor como @foto.jpg se copia como texto plano.
¿El código Ruby sigue las redirecciones cuando el comando usa -L?
▾
No. -L no se traduce y Net::HTTP nunca sigue redirecciones por su cuenta, así que revisa si la respuesta es 3xx y pide la URL de su encabezado Location si necesitas ese comportamiento.