لاگ میں پراکسی کا پتہ بدلتا ہے۔ منزل پراکسی کے رسائی لاگ میں کبھی نظر نہیں آتی۔ جانچیں کہ آپ کا مڈل ویئر درخواست کو ڈاؤن لوڈر تک پہنچنے دیتا ہے یا نہیں۔

Scrapy کے ڈاؤن لوڈر مڈل ویئر میں Request واپس کرنے کا مطلب اس درخواست کو دوبارہ شیڈول کرنا ہے۔ اس کا مطلب یہ نہیں کہ «ابھی تبدیل شدہ میٹا ڈیٹا کے ساتھ یہ چیز بھیجتے رہیں»۔

صرف راستہ چننے والے سلیکٹر کے لیے اہم شکل یہ ہے:

def process_request(self, request):
    request.meta['proxy'] = self.choose_proxy()
    return None

یہ حصہ موجودہ ہک کی شکل دکھاتا ہے؛ وہ مڈل ویئر انٹرفیس استعمال کریں جو نصب شدہ Scrapy ریلیز معاون ہے۔ سلیکٹر کو درست اینڈ پوائنٹ واپس کرنا چاہیے اور دستیاب نہ ہونے والے پول کو واضح طور پر سنبھالنا چاہیے۔ عوامی ثالثوں کی اجازت دینے والا عوامی کرال اس واپسی قدر کے لیے HTTP پراکسی فہرست سے HTTP امیدوار لے سکتا ہے۔

None واپس کرنا باقی درخواست مڈل ویئر اور ڈاؤن لوڈر کو جاری رکھنے دیتا ہے۔ دوسرا Request واپس کرنا اس وقت مفید ہے جب آپ جان بوجھ کر کام بدلتے یا دوبارہ کوشش کرتے ہیں، لیکن اسے وجہ اور اخراج کی شرط درکار ہے۔

ہر بار وہی درخواست واپس کرنے والا روٹیٹر کبھی منزل سے رابطہ بنائے بغیر اپنا انتخاب کوڈ بار بار چلا سکتا ہے۔ ٹائم آؤٹ بڑھانا یا مزید پراکسی پورٹ کھولنا اس کنٹرول فلو لوپ کو ٹھیک نہیں کر سکتا۔

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

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