Les Scrapy sitt proxy-endepunkt og tilkoplings-IP
Bruk metadataa til førespurnaden for den valde proxyen, handsam response.ip_address som peer-informasjon frå handteraren, og stadfest utgangs-IP-en ved målet.
Når du granskar den valde ruta, bruk Request-objektet som er knytt til det fullførte svaret. Hald tre observasjonar åtskilde:
| Felt | Tyding |
|---|---|
response.request.meta.get('proxy') | Den valde proxy-URL-en til denne førespurnaden, når han finst |
response.ip_address | Adresse levert av nedlastingshandteraren, moglegvis None |
| Kjelderapport frå eit klarert mål | Den offentlege kjelda som vart observert der |
Inne i ein callback, utelat URL-delar med påloggingsinformasjon frå rutinediagnostikken:
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-handteraren i Scrapy 2.13.3 kjem adressa frå tilkoplings-peeren til svaret, ikkje frå ein utgangs-IP-teneste. Nokre ruter, inkludert svar med null lengd, kan la ho stå som None. Andre handterarar kan fylla ho ut annleis. None beviser ikkje i seg sjølv direkte ruting.
For ein utgangssjekk, spør eit klarert endepunkt under den tiltenkte proxy-policyen og ta vare på identiteten til førespurnaden saman med observasjonen. Roterande middleware kan gje ein seinare sjekk eit anna endepunkt.
Omdirigeringar lagar også ein ny førespurnad. Endelege metadata skildrar det trinnet; gransk omdirigeringshistorikken og eitkvart nyval frå middleware i staden for å handsame det som bevis for ruta til den første URL-en.