Construya el opener de urllib de Python 3 con la ruta del proxy y con los manejadores de protocolo cuyo nivel de depuración esté activado:

from urllib.request import (
    HTTPHandler, HTTPSHandler, ProxyHandler, build_opener,
)

opener = build_opener(
    ProxyHandler({
        'http': 'http://proxy.example:8080',
        'https': 'http://proxy.example:8080',
    }),
    HTTPHandler(debuglevel=1),
    HTTPSHandler(debuglevel=1),
)
with opener.open('https://www.example.com/', timeout=10) as response:
    print(response.status)

HTTPHandler y HTTPSHandler ofrecen la opción de rastreo. ProxyHandler aporta la ruta; no es ahí donde corresponde esta configuración de depuración del protocolo. La petición pública mostrada puede usar una dirección no verificada de la lista de proxys HTTP cuando se permiten intermediarios públicos; mantenga las cookies y los tokens de cuenta fuera de esta comparación de diagnóstico.

La salida de depuración subyacente de http.client se imprime en la salida estándar. Puede mostrar los bytes de la petición enviada y las cabeceras de la respuesta recibida, lo que ayuda a localizar un desafío del proxy, un rechazo de túnel o una respuesta posterior del destino.

Use una petición controlada y mantenga las credenciales, las cookies y los tokens fuera de la salida de rastreo compartida.

Artículos relacionados