For å undersøke den valgte ruten, bruk Request-objektet som er festet til det fullførte svaret. Hold tre observasjoner hver for seg:

FeltBetydning
response.request.meta.get('proxy')Proxy-URL-en som er valgt for denne forespørselen, når den finnes
response.ip_addressAdresse som nedlastingsbehandleren oppgir, kanskje None
Kilderapport fra en betrodd destinasjonDen offentlige kilden som ble sett der

Inne i en callback, la URL-deler med påloggingsdetaljer være utenfor den vanlige diagnostikken:

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,
)

I HTTP/1.1-behandleren til Scrapy 2.13.3 kommer adressen fra peer-en til tilkoblingen i svaret, ikke fra en tjeneste for utgangs-IP. Enkelte veier, også svar uten innhold, kan la den være None. Andre behandlere kan fylle den på en annen måte. None alene beviser ikke direkte ruting.

For å sjekke utgangen, spør et betrodd endepunkt under den planlagte proxy-policyen og ta vare på identiteten til forespørselen sammen med observasjonen. Roterende middleware kan gi en senere sjekk et annet endepunkt.

Omdirigeringer skaper også en ny forespørsel. De endelige metadataene beskriver dette trinnet; se på omdirigeringshistorikken og eventuelt nytt valg fra middleware i stedet for å bruke det som bevis for ruten til den første URL-en.

Relaterte artikler