Трасування 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-проксі, коли публічні посередники дозволені; тримайте cookie та токени облікового запису поза цим діагностичним порівнянням.
Базовий вивід налагодження http.client друкується в стандартний вивід. Він може показувати надіслані байти запиту й отримані заголовки відповіді, що допомагає знайти запит автентифікації проксі, відмову в тунелі або подальшу відповідь призначення.
Використовуйте контрольований запит і тримайте облікові дані, cookie та токени поза спільним виводом трасування.