Hvorfor ProxyMesh sin utgangsheader kan mangle i Scrapy
ProxyMesh kan sende rutingmetadata på CONNECT før Scrapy mottar det krypterte nettside-svaret. Undersøk svarstadiet som faktisk bærer dem.
At X-ProxyMesh-IP mangler i en Scrapy HTTPS-callback, beviser ikke direkte ruting. Ved tunnelert HTTPS plasserer ProxyMesh rutingheadere på CONNECT-svaret; det senere nettside-svaret ligger inne i TLS og inneholder ikke automatisk de tidligere metadataene.
Der headeren vises i en callback, les 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 utgangen leverandøren rapporterer for den utvekslingen, ikke det konfigurerte inngangsvertsnavnet.
Hvis tunnelmetadata er nødvendig, bruk en kompatibel handler-integrasjon som eksponerer CONNECT-headere. ProxyMesh vedlikeholder en for dette formålet; kontroller den støttede Scrapy-versjonen og nedlastingshandleren. Edderkoppens parsing kan ikke avdekke headere som transporten aldri leverte.
Knytt metadata til tilkoblingen sin. Gjenbruk av en tunnel lager ikke enda et CONNECT-svar for hver side. For en uavhengig kildeadresse som destinasjonen observerer, undersøk destinasjonens innkommende tilkobling i stedet for å behandle en leverandørheader som en universell IP-detektor.