Hvorfor ProxyMesh' udgangsheader kan mangle i Scrapy
ProxyMesh kan sende routingmetadata på CONNECT, før Scrapy modtager hjemmesidens krypterede svar. Undersøg det svarstadie, der faktisk bærer dem.
At X-ProxyMesh-IP mangler i et Scrapy HTTPS-callback, beviser ikke direkte routing. Ved tunneleret HTTPS placerer ProxyMesh routingheadere på CONNECT-svaret; det senere hjemmesidesvar ligger inde i TLS og indeholder ikke automatisk de tidligere metadata.
Hvor headeren vises i et callback, læses den betinget:
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'))
Dette er den udgang, udbyderen rapporterer for den udveksling, ikke det konfigurerede indgangsværtsnavn.
Hvis tunnelmetadata er nødvendige, brug en kompatibel handler-integration, der blotlægger CONNECT-headere. ProxyMesh vedligeholder en til dette formål; kontroller den understøttede Scrapy-version og download-handleren. Edderkoppens parsing kan ikke afsløre headere, som transporten aldrig leverede.
Knyt metadata til deres forbindelse. Genbrug af en tunnel opretter ikke endnu et CONNECT-svar for hver side. For en uafhængig kildeadresse, som destinationen observerer, undersøg den destinations indgående forbindelse i stedet for at behandle en udbyderheader som en universel IP-detektor.