Cómo capturar tráfico HTTPS de requests o httpx en Python

Imagen de portada de Cómo capturar tráfico HTTPS de requests o httpx en Python

Este tutorial te muestra cómo capturar el tráfico HTTPS de las librerías requests o httpx de Python con fines de depuración.

Al final de este tutorial habrás logrado lo siguiente:

  • Configurar Proxyman
  • ✅ Capturar las solicitudes y respuestas HTTP/HTTPS del código Python sin cambiar nada del código
  • Funciona con las librerías requests y httpx

Aquí tienes el código fuente de este tutorial

Requisitos previos

  • Python 3.12.0
  • Librería requests o httpx
  • Proxyman para macOS (descárgalo desde Proxyman.com)

Empecemos

  1. Descarga Proxyman desde Proxyman.com
  2. Abre Proxyman e instala el certificado en tus dispositivos macOS. Puedes encontrar el certificado en Proxyman > Certificate Menu -> Install for macOS -> Follow the instruction
  3. En Proxyman -> Setup Menu -> Automatic Setup -> haz clic en el botón "Open new Terminal"
Automatic Setup de Proxyman
Automatic Setup de Proxyman

CONSEJO #1: Puedes elegir qué terminal se abre. Es compatible con iTerm, Terminal, Hyper, etc.

CONSEJO #2: Si quieres usar tu propia terminal -> abre el Setup Menu -> Manual Setup -> copia el comando -> abre tu terminal y pega el comando

Manual Setup de Proxyman
Manual Setup de Proxyman
  1. En esta terminal -> ejecuta tu código de Python.

Si no tienes código de Python, puedes usar el código de ejemplo del código fuente

pip install requests httpx
import requests
import httpx

def make_post_request(): # The URL we're sending the POST request to
url = 'https://httpbin.org/post'

    # Sample data to send in the POST request
    data = {
        'name': 'John Doe',
        'age': 30,
        'message': 'Hello, World!'
    }

    try:
        # Make the POST request
        response = requests.post(url, json=data)

        # Ensure the request was successful
        response.raise_for_status()

        # Print the response
        print("Response Status Code:", response.status_code)
        print("\nResponse Content:")
        print(response.json())

    except requests.exceptions.RequestException as e:
        print(f"An error occurred: {e}")

def make_post_request_httpx(): # The URL we're sending the POST request to
url = 'https://httpbin.org/post'

    # Sample data to send in the POST request
    data = {
        'name': 'John Doe',
        'age': 30,
        'message': 'Hello, World!'
    }

    try:
        # Create an httpx client
        with httpx.Client() as client:
            # Make the POST request
            response = client.post(url, json=data)

            # Ensure the request was successful
            response.raise_for_status()

            # Print the response
            print("Response Status Code:", response.status_code)
            print("\nResponse Content:")
            print(response.json())

    except httpx.RequestError as e:
        print(f"An error occurred while making the request: {e}")
    except httpx.HTTPStatusError as e:
        print(f"HTTP Error occurred: {e}")

if **name** == "**main**":
make_post_request()
print("\nNow trying with httpx:")
make_post_request_httpx()

Ejecuta:

python main.py
Ejecutar código Python en la terminal de Proxyman
Ejecutar código Python en la terminal de Proxyman

Verás la salida en Proxyman.

  1. Proxyman captura automáticamente el tráfico HTTP/HTTPS de tu código Python.
Proxyman captura el tráfico HTTPS del código Python
Proxyman captura el tráfico HTTPS del código Python
  1. ¡Listo! ✅

Resumen

Capturar el tráfico HTTP/HTTPS de código Python es muy fácil con Proxyman. No necesitas modificar ningún código.

De lo contrario, tendrías que modificar manualmente tu código para confiar en el certificado de Proxyman y configurar un servidor proxy, lo cual no es buena idea.

¿Qué sigue?

Automatic Setup o Manual Setup pueden capturar el tráfico HTTP/HTTPS de cualquier código Python, Ruby o NodeJS. No necesitas modificar ningún código.

La configuración del proxy pertenece a la terminal que abre Proxyman. Activa tu entorno virtual y ejecuta Python en esa misma ventana. Si falta alguna llamada, comprueba si el cliente se creó con trust_env=False, con un transporte personalizado o con su propia configuración de proxy. Al cerrar la terminal se termina la configuración temporal y no se modifica tu perfil de shell.

Noah Tran
Noah Tran

Revisado el 16 de julio de 2026. Se añadieron comprobaciones sobre el alcance de la terminal, el entorno virtual y el tráfico que falta.

Inspecciona llamadas HTTPS de Python sin modificar tu aplicación

Abre una terminal de Proxyman, activa el entorno de tu proyecto y ejecuta el script para ver cada solicitud y respuesta.

Descargar Proxyman