Трасаванне HTTP-абмену urllib праз проксі
Уключыце трасаванне HTTP- і HTTPS-апрацоўшчыкаў urllib у Python 3 у тым самым opener, які валодае маршрутам праз проксі.
Пабудуйце opener urllib у 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 друкуецца ў стандартны вывад. Ён можа паказваць байты адпраўленага запыту і атрыманыя загалоўкі адказу, што дапамагае знайсці выклік проксі, адмову ў тунелі або наступны адказ прызначэння.
Выкарыстоўвайце кантраляваны запыт і трымайце ўліковыя даныя, кукі і токены па-за агульным вывадам трасавання.