Mengapa Header Keluar ProxyMesh Bisa Hilang di Scrapy
ProxyMesh dapat mengirim metadata perutean pada CONNECT sebelum Scrapy menerima respons situs web yang terenkripsi. Periksa tahap respons yang benar-benar membawanya.
Tidak adanya X-ProxyMesh-IP dalam callback HTTPS Scrapy tidak membuktikan perutean langsung. Pada HTTPS terowongan, ProxyMesh meletakkan header perutean pada balasan CONNECT; respons situs web berikutnya berada di dalam TLS dan tidak otomatis menyertakan metadata sebelumnya itu.
Di tempat header ditampilkan dalam callback, bacalah secara bersyarat:
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'))
Ini adalah exit yang dilaporkan penyedia untuk pertukaran itu, bukan nama host masuk yang dikonfigurasi.
Jika metadata terowongan diperlukan, gunakan integrasi handler yang kompatibel dan menampilkan header CONNECT. ProxyMesh memelihara satu untuk tujuan ini; periksa versi Scrapy yang didukung dan handler unduhannya. Penguraian oleh laba-laba tidak dapat mengungkap header yang tidak pernah disediakan oleh transport.
Kaitkan metadata dengan koneksinya. Menggunakan kembali terowongan tidak membuat balasan CONNECT lain untuk setiap halaman. Untuk alamat sumber independen yang diamati tujuan, periksa koneksi masuk tujuan tersebut alih-alih memperlakukan header penyedia sebagai pendeteksi IP universal.