Śledzenie wymiany HTTP urllib przez proxy
Włącz śledzenie obsługi HTTP i HTTPS w urllib Pythona 3 w tym samym openerze, który posiada trasę proxy.
Zbuduj opener urllib w Pythonie 3 z trasą proxy oraz z obsługą protokołów, której poziom debugowania jest włączony:
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 i HTTPSHandler udostępniają opcję śledzenia. ProxyHandler dostarcza trasę; to nie jest miejsce, do którego należy to ustawienie debugowania protokołu. Pokazane publiczne żądanie może użyć niezweryfikowanego adresu z listy proxy HTTP, gdy dozwolone są publiczne pośredniki; trzymaj pliki cookie i tokeny konta poza tym porównaniem diagnostycznym.
Podstawowe wyjście debugowania http.client jest drukowane na standardowe wyjście. Może pokazać wysłane bajty żądania i odebrane nagłówki odpowiedzi, co pomaga zlokalizować wyzwanie proxy, odmowę tunelu lub późniejszą odpowiedź celu.
Użyj kontrolowanego żądania i trzymaj dane uwierzytelniające, pliki cookie oraz tokeny poza współdzielonym wyjściem śledzenia.