Costruite l'opener urllib di Python 3 sia con la rotta del proxy sia con i gestori di protocollo il cui livello di debug è attivo:

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 espongono l'opzione di tracciatura. ProxyHandler fornisce la rotta; non è lì che va collocata questa impostazione di debug del protocollo. La richiesta pubblica mostrata può usare un indirizzo non verificato dall'elenco di proxy HTTP quando sono ammessi intermediari pubblici; tenete cookie e token dell'account fuori da questo confronto diagnostico.

L'output di debug sottostante di http.client viene stampato sullo standard output. Può mostrare i byte della richiesta inviata e le intestazioni della risposta ricevuta, il che aiuta a individuare una richiesta di autenticazione del proxy, un rifiuto del tunnel o una risposta successiva della destinazione.

Usate una richiesta controllata e tenete credenziali, cookie e token fuori dall'output di traccia condiviso.

Articoli correlati