Saltar al contenido principal

Python

Captura el tráfico HTTP/HTTPS de scripts y servidores de Python con Proxyman Automatic Setup. Funciona con requests, http.client, urllib3, httpx y aiohttp.

1. Nueva solución automática (v4.7.0 o posterior) ✅​

Proxyman v4.7.0 o posterior puede capturar el tráfico HTTP/HTTPS de Python con un solo clic.

  • Solución de un solo clic: no necesitas configurar el proxy HTTP ni confiar manualmente en el certificado autofirmado.
  • Compatible con muchas librerías de Python: requests, http.client, urllib3, httpx y aiohttp

Cómo usarlo:​

  1. Abre Proxyman -> Setup Menu -> Automatic Setup
  2. Haz clic en "Open New Terminal"
  3. Acepta la solicitud de permiso de AppleScript si aparece
  4. Se abre una nueva ventana de Terminal -> inicia tu servidor backend de Python o ejecuta tus scripts ahí => Proxyman captura todo el tráfico automáticamente.
  5. Listo ✅
Ventana de Proxyman Automatic Setup con el botón Open New Terminal que captura librerías de Python como aiohttp y httplib

Captura el tráfico de Python con Proxyman Automatic Setup

Consulta la página de Automatic Setup:

1. Enfoque con script​

  1. Usa este script del issue #1220 de GitHub para instalar o eliminar automáticamente el certificado de Python.
  2. Guarda el script en la carpeta Escritorio como script.py
  • Añadir certificado:
$ python3 script.py add
  • Eliminar certificado
$ python3 script.py remove
información

En macOS 12.2 o posterior, asegúrate de usar python3

Créditos a @novitae

2. Enfoque manual​

Instala el certificado de Proxyman en el entorno de Python​

De forma predeterminada, Python en macOS no confía en el certificado autofirmado de Proxyman. Por eso, es posible que obtengas un error de SSL al interceptar tráfico HTTPS.

Para interceptar el tráfico HTTPS de tu script de Python, debes indicar a Python que use el Proxyman Root Certificate (certificado raíz de Proxyman) que está en ~/.proxyman/proxyman-ca.pem

información

Las versiones más recientes de Proxyman guardan el certificado en ~/Library/Application Support/com.proxyman.NSProxy/app-data/proxyman-ca.pem. Si ~/.proxyman/proxyman-ca.pem no existe en tu Mac, usa esa ruta en los comandos de abajo, o exporta el certificado desde el menú Certificate -> Export -> Root Certificate as PEM.

Sigue estos pasos:

  1. Instala el Proxyman Certificate en tu Mac (si ya lo hiciste, omite este paso. Si no, consulta la guía de macOS).
  2. Ejecuta los siguientes comandos en la app Terminal
$ export SSL_CERT_FILE=~/.proxyman/proxyman-ca.pem
$ export REQUESTS_CA_BUNDLE=~/.proxyman/proxyman-ca.pem
$ echo "export REQUESTS_CA_BUNDLE=~/.proxyman/proxyman-ca.pem" >> ~/.bash_profile ; source ~/.bash_profile

3. Listo.

Revierte el cambio​

Si no usas Proxyman, revierte el cambio comentando la siguiente línea:

# export REQUESTS_CA_BUNDLE=~/.proxyman/proxyman-ca.pem

en ~/.bash_profile

3. Solución de problemas​

3.1 Proxyman no puede capturar el tráfico HTTP de mi código de Python.​

Solución: usa Automatic Setup.

Referencias​

Más información​