منتخب شدہ راستے کا جائزہ لینے کے لیے مکمل شدہ جواب سے منسلک Request استعمال کریں۔ تین مشاہدات الگ رکھیں:

فیلڈمعنی
response.request.meta.get('proxy')اس درخواست کا منتخب پراکسی URL، اگر موجود ہو
response.ip_addressڈاؤن لوڈ ہینڈلر کا دیا ہوا پتہ، ممکنہ طور پر None
قابلِ اعتماد منزل کی مصادر رپورٹوہاں مشاہدہ کردہ عوامی مصدر

کال بیک کے اندر، اسناد رکھنے والے URL حصوں کو معمول کی تشخیص سے خارج کریں:

from urllib.parse import urlsplit

proxy = response.request.meta.get('proxy')
proxy_host = urlsplit(proxy).hostname if proxy else None
self.logger.info(
    'target_host=%s proxy_host=%s peer_ip=%s',
    urlsplit(response.url).hostname, proxy_host, response.ip_address,
)

Scrapy 2.13.3 کے HTTP/1.1 ہینڈلر میں پتہ جواب کے کنکشن پیر سے آتا ہے، کسی ایگزٹ-IP سروس سے نہیں۔ بعض راستے، بشمول صفر طوالت کے جوابات، اسے None چھوڑ سکتے ہیں۔ دیگر ہینڈلر اسے مختلف طریقے سے بھر سکتے ہیں۔ None بذاتِ خود براہ راست روٹنگ ثابت نہیں کرتا۔

ایگزٹ جانچ کے لیے، مطلوبہ پراکسی پالیسی کے تحت کسی قابلِ اعتماد اینڈ پوائنٹ سے پوچھیں اور درخواست کی شناخت مشاہدے کے ساتھ رکھیں۔ گھومنے والا مڈل ویئر بعد کی جانچ کو دوسرا اینڈ پوائنٹ دے سکتا ہے۔

ری ڈائریکٹ بھی ایک اور درخواست بناتے ہیں۔ حتمی میٹا ڈیٹا اسی مرحلے کی وضاحت کرتا ہے؛ پہلے URL کے راستے کا ثبوت سمجھنے کے بجائے ری ڈائریکٹ کی تاریخ اور مڈل ویئر کے کسی بھی دوبارہ انتخاب کا جائزہ لیں۔

متعلقہ مضامین