Capturar solicitudes HTTP/HTTPS de scripts Ruby (net/http)

Imagen de portada de Capturar solicitudes HTTP/HTTPS de scripts Ruby (net/http)

Este artículo muestra cómo capturar el tráfico HTTP/HTTPS de scripts de Ruby con las bibliotecas net/http y http.

En este artículo veremos:

  • Cómo capturar el tráfico HTTP/HTTPS de scripts de Ruby (net/http o la gema http) con Proxyman

1. Hacer una solicitud HTTPS con Ruby

Si eres desarrollador de Ruby, probablemente dediques mucho tiempo a hacer solicitudes HTTP(s) con estas bibliotecas:

  • Net::HTTP: biblioteca integrada de Ruby. Ofrece una API completa para implementar un cliente que use el protocolo HTTP de solicitud-respuesta.
  • http: es una gema de terceros, diseñada como una biblioteca cliente más sencilla de usar que Net::HTTP.

El siguiente código de ejemplo muestra cómo hacer una solicitud con ambas bibliotecas.

require "http"
require 'net/http'

# Use net/http
uri = URI('https://httpbin.org/post?lib=net_http')
res = Net::HTTP.post_form(uri, 'isSSL' => 'true')
puts(res)

# Use http gem
res = HTTP.get("https://httpbin.org/get?lib=http").to_s
puts(res)

Para ejecutarlo, guarda el ejemplo como client.rb → abre la app Terminal → ejecútalo con: ruby client.rb.

Proxyman: hacer una solicitud HTTP con net/http o la gema http desde Ruby
Proxyman: hacer una solicitud HTTP con net/http o la gema http desde Ruby

2. ¿Cómo capturar HTTP/HTTPS?

Problema actual

Por defecto, ambas bibliotecas (net/http y la gema http) no respetan el proxy HTTP del sistema ni las variables de entorno HTTP_PROXY y HTTPS_PROXY. Es posible que no veas su tráfico si usas Fiddler o Charles Proxy.

Para solucionarlo, hay que añadir manualmente la configuración del proxy. Este es un ejemplo de configuración para net/http:

proxy_addr = 'localhost'
proxy_port = 9090

Net::HTTP.new('example.com', nil, proxy_addr, proxy_port).start { |http|
  # always proxy via localhost:9090
}

Más información en net::http Proxy.

Es propenso a errores y consume mucho tiempo, porque hay que modificar el código fuente a mano.

Solución ✅

Afortunadamente, Proxyman incluye una función que te ayuda a capturar solicitudes y respuestas HTTP/HTTPS sin ninguna configuración.

  1. Descarga la última versión de la app para macOS en https://proxyman.com/
  2. Instala el certificado de Proxyman en tu Mac. Para ello, abre el menú Certificate → Install Certificate on this Mac… → haz clic en el botón "Install & Trust".
Instalar el certificado raíz de Proxyman en el MacBook actual
Instalar el certificado raíz de Proxyman en el MacBook actual
  1. Abre el menú Setup → Automatic → haz clic en "New Terminal app…"
Abrir la app Terminal preconfigurada, que puede capturar el tráfico HTTP de Ruby sin configuración
Abrir la app Terminal preconfigurada, que puede capturar el tráfico HTTP de Ruby sin configuración
  1. Se abre una nueva app Terminal. Es la app Terminal de Apple preconfigurada, que captura y descifra automáticamente el tráfico HTTPS de Ruby.
  2. Ejecuta de nuevo ruby client.rb en la nueva app Terminal y, ahora, Proxyman captura y descifra todo el tráfico HTTP/HTTPS 🎉
Ejecutar el script de Ruby y ver el tráfico HTTP de net/http o de la gema http con Proxyman
Ejecutar el script de Ruby y ver el tráfico HTTP de net/http o de la gema http con Proxyman
  1. ¡Listo!

Bibliotecas de Ruby compatibles

Proxyman admite de forma nativa: http, net/http, net/https, faraday, httparty y fastlane.

Conclusión

Capturar el tráfico HTTP/HTTPS de scripts de Ruby (net/http o la gema http) es propenso a errores y consume mucho tiempo. Sin embargo, se puede hacer sin ninguna configuración y con un solo clic, usando Automatic Setup de Proxyman.

La configuración se aplica a la sesión de terminal que abre Proxyman, así que ejecuta el comando de Ruby en esa ventana. Tus archivos de shell habituales no se modifican. Si una biblioteca sigue sin aparecer, muestra su configuración de proxy, comprueba que no haya desactivado los proxies del entorno y confirma que la misma terminal puede hacer una solicitud sencilla a https://httpbin.org/get.


Proxyman es una app de alto rendimiento para macOS que permite a los desarrolladores capturar e inspeccionar el tráfico HTTP(s) de apps y dominios en dispositivos iOS, simuladores de iOS y dispositivos Android.

Descárgala en https://proxyman.com/

Noah Tran
Noah Tran

Revisado el 18 de julio de 2026. Se aclaró el alcance de la terminal y se añadieron comprobaciones para los scripts que siguen sin aparecer.

Inspecciona una solicitud de Ruby sin cambiar tu código

Abre la terminal preconfigurada de Proxyman, ejecuta tu script de Ruby allí y lee su solicitud y respuesta completas.

Descargar Proxyman