Ler o endpoint do proxy e a IP de conexión de Scrapy
Use os metadatos da solicitude para o proxy seleccionado, trate response.ip_address como información do par proporcionada polo manexador e verifique a IP de saída no destino.
Use a Request asociada á resposta completada cando examine a súa ruta seleccionada. Manteña tres observacións por separado:
| Campo | Significado |
|---|---|
response.request.meta.get('proxy') | A URL do proxy seleccionado desta solicitude, cando existe |
response.ip_address | Enderezo proporcionado polo manexador de descargas, posiblemente None |
| Informe de orixe dun destino de confianza | A orixe pública observada alí |
Dentro dun callback, omita as partes da URL con credenciais no diagnóstico habitual:
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,
)No manexador HTTP/1.1 de Scrapy 2.13.3 o enderezo vén do par da conexión da resposta, non dun servizo de IP de saída. Algunhas rutas, incluídas as respostas de lonxitude cero, poden deixalo en None. Outros manexadores poden enchedelo doutro xeito. None por si só non demostra un encamiñamento directo.
Para comprobar a saída, consulte un endpoint de confianza baixo a política de proxy prevista e conserve a identidade da solicitude xunto coa observación. Un middleware rotativo pode dar outro enderezo a unha comprobación posterior.
As redireccións tamén crean outra solicitude. Os metadatos finais describen esa etapa; revise o historial de redireccións e calquera nova selección do middleware en lugar de tomalo como proba da ruta da primeira URL.