Rastrexar o intercambio HTTP de urllib a través do proxy
Active o rastrexo dos xestores HTTP e HTTPS de urllib de Python 3 no mesmo opener que posúe a ruta do proxy.
Constrúa o opener de urllib de Python 3 coa ruta do proxy e cos xestores de protocolo cuxo 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 e HTTPSHandler ofrecen a opción de rastrexo. ProxyHandler fornece a ruta; non é aí onde corresponde esta configuración de depuración do protocolo. A petición pública amosada pode usar un enderezo non verificado da lista de proxies HTTP cando se permiten intermediarios públicos; manteña as cookies e os tokens de conta fóra desta comparación de diagnóstico.
A saída de depuración subxacente de http.client imprímese na saída estándar. Pode amosar os bytes da petición enviada e as cabeceiras da resposta recibida, o que axuda a localizar un desafío do proxy, un rexeitamento de túnel ou unha resposta posterior do destino.
Use unha petición controlada e manteña as credenciais, as cookies e os tokens fóra da saída de rastrexo compartida.