Llegir el punt final del proxy i la IP de connexió de Scrapy
Utilitzeu les metadades de la sol·licitud per al proxy seleccionat, tracteu response.ip_address com a informació del parell proporcionada pel gestor i verifiqueu la IP de sortida a la destinació.
Utilitzeu la Request associada a la resposta completada quan examineu la seva ruta seleccionada. Manteniu tres observacions separades:
| Camp | Significat |
|---|---|
response.request.meta.get('proxy') | L'URL del proxy seleccionat d'aquesta sol·licitud, si existeix |
response.ip_address | Adreça proporcionada pel gestor de descàrregues, possiblement None |
| Informe d'origen d'una destinació de confiança | L'origen públic observat allà |
Dins d'una callback, ometeu les parts de l'URL amb credencials dels diagnòstics rutinaris:
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,
)Al gestor HTTP/1.1 de Scrapy 2.13.3 l'adreça prové del parell de la connexió de la resposta, no d'un servei d'IP de sortida. Alguns camins, com les respostes de longitud zero, poden deixar-la a None. Altres gestors la poden omplir de manera diferent. None per si sol no demostra encaminament directe.
Per a una comprovació de sortida, consulteu un punt final de confiança sota la política de proxy prevista i conserveu la identitat de la sol·licitud amb l'observació. Un middleware rotatiu pot donar una altra adreça a una comprovació posterior.
Les redireccions també creen una altra sol·licitud. Les metadades finals descriuen aquesta etapa; reviseu l'historial de redireccions i qualsevol reselecció del middleware en lloc de tractar-lo com a prova de la ruta del primer URL.