Waarom de exit-header van ProxyMesh kan ontbreken in Scrapy
ProxyMesh kan routeringsmetadata op CONNECT sturen voordat Scrapy de versleutelde reactie van de website ontvangt. Onderzoek de reactiefase die deze daadwerkelijk draagt.
Het ontbreken van X-ProxyMesh-IP in een HTTPS-callback van Scrapy bewijst geen directe routering. Bij getunnelde HTTPS plaatst ProxyMesh routeringsheaders op de CONNECT-reactie; de latere website-reactie zit in TLS en bevat die eerdere metadata niet automatisch.
Waar de header in een callback zichtbaar is, lees hem voorwaardelijk:
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'))
Dit is de exit die de provider voor die uitwisseling rapporteert, niet de geconfigureerde ingangs-hostnaam.
Als tunnelmetadata nodig is, gebruik dan een compatibele handler-integratie die CONNECT-headers blootlegt. ProxyMesh onderhoudt er een voor dit doel; controleer de ondersteunde Scrapy-versie en de download-handler. Het parsen door de spider kan geen headers onthullen die het transport nooit heeft geleverd.
Koppel metadata aan de bijbehorende verbinding. Hergebruik van een tunnel maakt niet voor elke pagina een nieuwe CONNECT-reactie. Voor een onafhankelijk, door de bestemming waargenomen bronadres, inspecteer de inkomende verbinding van die bestemming in plaats van een providerheader als universele IP-detector te behandelen.