Prečo môže v Scrapy chýbať výstupná hlavička ProxyMesh
ProxyMesh môže odosielať smerovacie metadáta na CONNECT skôr, než Scrapy dostane zašifrovanú odpoveď webu. Preskúmajte fázu odpovede, ktorá ich skutočne nesie.
Chýbajúca X-ProxyMesh-IP v HTTPS callbacku Scrapy nepreukazuje priame smerovanie. Pri tunelovanom HTTPS umiestňuje ProxyMesh smerovacie hlavičky na odpoveď CONNECT; neskoršia odpoveď webu je vnútri TLS a tieto skoršie metadáta automaticky neobsahuje.
Kde je hlavička v callbacku vystavená, čítajte ju podmienečne:
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'))
Toto je výstup nahlásený poskytovateľom pre túto výmenu, nie nakonfigurované meno vstupného hostiteľa.
Ak sú potrebné metadáta tunela, použite kompatibilnú integráciu obsluhy, ktorá vystavuje hlavičky CONNECT. ProxyMesh jednu na tento účel udržiava; overte podporovanú verziu Scrapy a obsluhu sťahovania. Parsovanie pavúkom nemôže odhaliť hlavičky, ktoré transport nikdy neposkytol.
Spájajte metadáta s ich spojením. Opätovné použitie tunela nevytvára pre každú stránku ďalšiu odpoveď CONNECT. Pre nezávislú adresu zdroja pozorovanú cieľom preskúmajte prichádzajúce spojenie tohto cieľa, namiesto toho, aby ste hlavičku poskytovateľa považovali za univerzálny detektor IP.