Zašto izlazno zaglavlje ProxyMesh-a može nedostajati u Scrapyju
ProxyMesh može poslati metapodatke usmjeravanja na CONNECT prije nego Scrapy primi šifrirani odgovor web stranice. Provjerite fazu odgovora koja ih doista nosi.
Nedostatak X-ProxyMesh-IP u Scrapy HTTPS povratnom pozivu ne dokazuje izravno usmjeravanje. Kod tuneliranog HTTPS-a ProxyMesh postavlja zaglavlja usmjeravanja na odgovor CONNECT; kasniji odgovor web stranice nalazi se unutar TLS-a i ne uključuje automatski te ranije metapodatke.
Gdje je zaglavlje izloženo u povratnom pozivu, čitajte ga uvjetno:
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 pružatelj prijavio za tu razmjenu, a ne konfigurirano ime ulaznog hosta.
Ako su potrebni metapodaci tunela, upotrijebite kompatibilnu integraciju rukovatelja koja izlaže CONNECT zaglavlja. ProxyMesh održava jednu upravo za tu svrhu; provjerite podržanu verziju Scrapyja i rukovatelja preuzimanja. Raščlamba pauka ne može otkriti zaglavlja koja prijevoz nikada nije dostavio.
Povežite metapodatke s njihovom vezom. Ponovna uporaba tunela ne stvara još jedan CONNECT odgovor za svaku stranicu. Za neovisnu adresu izvora koju vidi odredište, pregledajte dolaznu vezu tog odredišta umjesto da zaglavlje pružatelja tretirate kao univerzalni detektor IP adresa.