Scrapy میں ProxyMesh کا ایگزٹ ہیڈر کیوں غائب ہو سکتا ہے
ProxyMesh CONNECT پر روٹنگ میٹاڈیٹا بھیج سکتا ہے، اس سے پہلے کہ Scrapy کو ویب سائٹ کا خفیہ شدہ جواب ملے۔ وہ جوابی مرحلہ دیکھیں جو واقعی اسے اٹھاتا ہے۔
Scrapy HTTPS کال بیک میں X-ProxyMesh-IP کا نہ ہونا براہ راست روٹنگ کو ثابت نہیں کرتا۔ ٹنل شدہ HTTPS میں ProxyMesh روٹنگ ہیڈر CONNECT کے جواب پر رکھتا ہے؛ بعد میں آنے والا ویب سائٹ جواب TLS کے اندر ہوتا ہے اور وہ پہلے کا میٹاڈیٹا خود بخود شامل نہیں کرتا۔
جہاں کال بیک میں ہیڈر ظاہر ہو، وہاں اسے شرطی طور پر پڑھیں:
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'))
یہ اسی تبادلے کے لیے فراہم کنندہ کا بتایا ہوا ایگزٹ ہے، ترتیب شدہ انٹری ہوسٹ نام نہیں۔
اگر ٹنل میٹاڈیٹا درکار ہو تو CONNECT ہیڈر ظاہر کرنے والا موزوں ہینڈلر انٹیگریشن استعمال کریں۔ ProxyMesh اسی مقصد کے لیے ایک رکھتا ہے؛ اس کا معاون Scrapy ورژن اور ڈاؤن لوڈ ہینڈلر جانچیں۔ مکڑی کی پارسنگ وہ ہیڈر ظاہر نہیں کر سکتی جو ٹرانسپورٹ نے کبھی فراہم ہی نہ کیے ہوں۔
میٹاڈیٹا کو اس کے کنکشن سے جوڑیں۔ ٹنل کا دوبارہ استعمال ہر صفحے کے لیے ایک اور CONNECT جواب نہیں بناتا۔ منزل کے دیکھے گئے خودمختار ماخذ پتے کے لیے، فراہم کنندہ کے ہیڈر کو عالمگیر IP شناخت کنندہ سمجھنے کے بجائے اس منزل کے آنے والے کنکشن کا معائنہ کریں۔