Hvorfor utgangsheaderen til ProxyMesh kan mangle i Scrapy
ProxyMesh kan sende rutingsmetadata på CONNECT før Scrapy mottar den krypterte nettside-responsen. Undersøk responsstadiet som faktisk bærer dem.
At X-ProxyMesh-IP mangler i en Scrapy HTTPS-callback beviser ikke direkte ruting. Med tunnelert HTTPS setter ProxyMesh rutingsheadere på CONNECT-responsen; den senere nettside-responsen ligger innenfor TLS og inneholder ikke automatisk disse 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 trengs, bruk en kompatibel handler-integrasjon som eksponerer CONNECT-headere. ProxyMesh vedlikeholder en for dette formålet; sjekk den støttede Scrapy-versjonen og nedlastingshandleren. Parsingen til edderkoppen kan ikke avdekke headere som transporten aldri leverte.
Knytt metadata til tilkoblingen sin. Gjenbruk av en tunnel lager ikke nok en CONNECT-respons for hver side. For en uavhengig kildeadresse som destinasjonen observerer, undersøk den innkommende tilkoblingen til destinasjonen i stedet for å behandle en leverandørheader som en universell IP-detektor.