Uzu la Request ligitan al la finita respondo kiam vi ekzamenas ĝian elektitan vojon. Tenu tri observojn apartaj:

KampoSignifo
response.request.meta.get('proxy')La elektita prokura URL de ĉi tiu peto, se ĝi ekzistas
response.ip_addressAdreso liverita de la elŝuta traktilo, eble None
Fonta raporto de fidata celoLa publika fonto observita tie

Ene de callback, forlasu URL-partojn enhavantajn legitimilojn el rutina diagnozo:

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

En la HTTP/1.1-traktilo de Scrapy 2.13.3 la adreso venas de la koneksa samtavolo de la respondo, ne de elira-IP-servo. Iuj vojoj, inkluzive respondojn de nula longo, povas lasi ĝin None. Aliaj traktiloj povas plenigi ĝin alimaniere. None per si mem ne pruvas rektan vojigon.

Por elira kontrolo, demandu fidata finpunkton laŭ la celata prokura politiko kaj konservu la petan identecon kun la observo. Rotacia middleware povas doni al posta kontrolo alian finpunkton.

Ankaŭ plusendoj kreas alian peton. La finaj metadatenoj priskribas tiun etapon; ekzamenu la plusendan historion kaj ajnan novan elekton de middleware anstataŭ trakti ĝin kiel pruvon de la vojo de la unua URL.

Rilataj artikoloj