Por que o cabeçalho de saída do ProxyMesh pode faltar no Scrapy
O ProxyMesh pode enviar metadados de roteamento no CONNECT antes de o Scrapy receber a resposta criptografada do site. Inspecione o estágio de resposta que realmente os carrega.
A ausência de X-ProxyMesh-IP num callback HTTPS do Scrapy não prova roteamento direto. Com HTTPS tunelizado, o ProxyMesh coloca os cabeçalhos de roteamento na resposta CONNECT; a resposta posterior do site fica dentro do TLS e não inclui automaticamente esses metadados anteriores.
Onde o cabeçalho é exposto num callback, leia-o condicionalmente:
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 é a saída relatada pelo provedor para essa troca, não o nome de host de entrada configurado.
Se os metadados do túnel forem necessários, use uma integração de manipulador compatível que exponha os cabeçalhos CONNECT. O ProxyMesh mantém uma para esse fim; verifique a versão do Scrapy suportada e o manipulador de download. A análise pela aranha não pode revelar cabeçalhos que o transporte nunca forneceu.
Associe os metadados à sua conexão. Reutilizar um túnel não cria outra resposta CONNECT para cada página. Para um endereço de origem independente observado pelo destino, inspecione a conexão de entrada desse destino em vez de tratar o cabeçalho do provedor como um detector universal de IP.