Scrapy-välityspalvelimen päätepisteen ja yhteys-IP:n lukeminen
Käytä valitun välityspalvelimen pyynnön metatietoja, käsittele response.ip_address käsittelijän antamana vertaistietona ja varmista lähtevä IP kohdeosoitteessa.
Kun tutkit valittua reittiä, käytä valmiiseen vastaukseen liitettyä Requestia. Pidä kolme havaintoa erillään:
| Kenttä | Merkitys |
|---|---|
response.request.meta.get('proxy') | Tämän pyynnön valittu välityspalvelimen URL, jos sellainen on |
response.ip_address | Latauskäsittelijän antama osoite, mahdollisesti None |
| Luotetun kohteen lähderaportti | Siellä havaittu julkinen lähde |
Jätä callbackin sisällä tunnistetietoja sisältävät URL-osat rutiinidiagnostiikasta pois:
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,
)Scrapy 2.13.3:n HTTP/1.1-käsittelijässä osoite tulee vastauksen yhteyden vertaiselta, ei lähtevän IP:n palvelusta. Jotkin polut, mukaan lukien nollanpituiset vastaukset, voivat jättää sen Noneksi. Muut käsittelijät voivat täyttää sen eri tavoin. None ei itsessään todista suoraa reititystä.
Lähtevän yhteyden tarkistusta varten kysy luotettua päätepistettä aiottun välityspalvelinkäytännön mukaisesti ja pidä pyynnön identiteetti havainnon yhteydessä. Kiertävä väliohjelmisto voi antaa myöhemmälle tarkistukselle toisen päätepisteen.
Myös uudelleenohjaukset luovat uuden pyynnön. Lopulliset metatiedot kuvaavat sitä vaihetta; tarkista uudelleenohjaushistoria ja mahdollinen väliohjelmiston uusi valinta sen sijaan, että pitäisit sitä todisteena ensimmäisen URL:n reitistä.