La ausencia de X-ProxyMesh-IP en una devolución de llamada HTTPS de Scrapy no demuestra un enrutamiento directo. Con HTTPS tunelizado, ProxyMesh coloca las cabeceras de enrutamiento en la respuesta CONNECT; la respuesta posterior del sitio web va dentro de TLS y no incluye automáticamente esos metadatos anteriores.

Donde la cabecera se expone en una devolución de llamada, léala de forma condicional:

exit_ip = response.headers.get(b'X-ProxyMesh-IP')
if exit_ip is not None:
    self.logger.info('Reported exit IP: %s', exit_ip.decode('ascii'))

Esta es la salida que informa el proveedor para ese intercambio, no el nombre de host de entrada configurado.

Si se necesitan metadatos del túnel, use una integración de controlador compatible que exponga las cabeceras CONNECT. ProxyMesh mantiene una para este propósito; compruebe la versión de Scrapy admitida y el controlador de descarga. El análisis de la araña no puede revelar cabeceras que el transporte nunca proporcionó.

Asocie los metadatos con su conexión. Reutilizar un túnel no crea otra respuesta CONNECT para cada página. Para obtener una dirección de origen independiente observada por el destino, inspeccione la conexión entrante de ese destino en lugar de tratar la cabecera del proveedor como un detector universal de IP.

Artículos relacionados