Проследяване на проксирания HTTP обмен на urllib
Активирайте проследяването на HTTP и HTTPS манипулаторите на urllib в Python 3 в същия opener, който притежава прокси маршрута.
Изградете urllib opener в Python 3 както с прокси маршрута, така и с протоколните манипулатори, чието ниво на отстраняване на грешки е включено:
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 и HTTPSHandler предоставят опцията за проследяване. ProxyHandler осигурява маршрута; това не е мястото, където принадлежи тази настройка за протоколно отстраняване на грешки. Показаната публична заявка може да използва непотвърден адрес от списъка с HTTP прокси сървъри, когато публичните посредници са разрешени; дръжте бисквитките и токените за акаунт извън това диагностично сравнение.
Основният изход за отстраняване на грешки на http.client се отпечатва на стандартния изход. Той може да покаже изпратените байтове на заявката и получените заглавки на отговора, което помага да се открие предизвикателство от прокси, отказ на тунел или последващ отговор от дестинацията.
Използвайте контролирана заявка и дръжте идентификационните данни, бисквитките и токените извън споделения изход за проследяване.