Për të ekzaminuar rrugën e zgjedhur, përdorni Request-in e lidhur me përgjigjen e përfunduar. Mbani tre vëzhgime të ndara:

FushaKuptimi
response.request.meta.get('proxy')URL-ja e proxy-t të zgjedhur të kësaj kërkese, kur ekziston
response.ip_addressAdresa e dhënë nga handler-i i shkarkimit, ndoshta None
Raporti i burimit nga një destinacion i besuarBurimi publik i vëzhguar atje

Brenda një callback, hiqni nga diagnostika rutinë pjesët e URL-së me kredenciale:

from urllib.parse import urlsplit

proxy = response.request.meta.get('proxy')
proxy_host = urlsplit(proxy).hostname if proxy else None
self.logger.info(
    'target_host=%s proxy_host=%s peer_ip=%s',
    urlsplit(response.url).hostname, proxy_host, response.ip_address,
)

Në handler-in HTTP/1.1 të Scrapy 2.13.3 adresa vjen nga peer-i i lidhjes së përgjigjes, jo nga një shërbim i IP-së së daljes. Disa shtigje, përfshirë përgjigjet me gjatësi zero, mund ta lënë None. Handler-ë të tjerë mund ta plotësojnë ndryshe. None në vetvete nuk provon rrugëtim të drejtpërdrejtë.

Për një kontroll daljeje, pyesni një pikë fundore të besuar sipas politikës së synuar të proxy-t dhe mbani identitetin e kërkesës bashkë me vëzhgimin. Middleware rrotullues mund t'i japë një kontrolli të mëvonshëm një pikë tjetër fundore.

Edhe ridrejtimet krijojnë një kërkesë tjetër. Metadatat përfundimtare përshkruajnë atë fazë; shqyrtoni historikun e ridrejtimeve dhe çdo rizgjedhje nga middleware, në vend që ta merrni si provë të rrugës së URL-së së parë.

Artikuj të ngjashëm