Zašto izlazno zaglavlje ProxyMesh-a može nedostajati u Scrapy-ju
ProxyMesh može poslati metapodatke rutiranja na CONNECT prije nego Scrapy primi šifrovani odgovor sajta. Provjerite fazu odgovora koja ih zaista nosi.
Odsustvo X-ProxyMesh-IP u Scrapy HTTPS povratnom pozivu ne dokazuje direktno rutiranje. Kod tuneliranog HTTPS-a ProxyMesh postavlja zaglavlja rutiranja na odgovor CONNECT; kasniji odgovor sajta nalazi se unutar TLS-a i ne uključuje automatski te ranije metapodatke.
Gdje je zaglavlje izloženo u povratnom pozivu, čitajte ga uslovno:
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'))
Ovo je izlaz koji je provajder prijavio za tu razmenu, a ne konfigurisano ime ulaznog hosta.
Ako su potrebni metapodaci tunela, koristite kompatibilnu integraciju rukovaoca koja izlaže CONNECT zaglavlja. ProxyMesh održava jednu upravo za tu svrhu; provjerite podržanu verziju Scrapy-ja i rukovaoca preuzimanja. Parsiranje pauka ne može otkriti zaglavlja koja transport nikada nije dostavio.
Povežite metapodatke sa njihovom vezom. Ponovna upotreba tunela ne stvara još jedan CONNECT odgovor za svaku stranicu. Za nezavisnu adresu izvora koju vidi odredište, pregledajte dolaznu vezu tog odredišta umesto da zaglavlje provajdera tretirate kao univerzalni detektor IP adresa.