ایک Scrapy درخواست Splash تک پہنچ سکتی ہے جبکہ Splash کے اندر موجود براؤزر کو اب بھی مختلف خارجی راستہ درکار ہوتا ہے۔ یہ دو روابط ہیں:

Scrapy → Splash API
Splash browser → forward proxy → website

فی رینڈر ایک پراکسی کے لیے HTTP API کا proxy دلیل دیں۔ Splash 3.5 http://proxy.example:8080 جیسی پراکسی URL یا ترتیب شدہ proxy-profile نام دستاویز کرتا ہے۔ اس کی URL شکل SOCKS5 اور اختیاری اسناد کو بھی سپورٹ کرتی ہے۔

جب صفحے کے انفرادی وسیلے مختلف اینڈ پوائنٹس چاہیں تو execute اسکرپٹ استعمال کریں اور نیویگیشن سے پہلے انتخاب درج کریں:

function main(splash, args)
  splash:on_request(function(request)
    local host = args.default_proxy
    if request.url == args.special_resource then
      host = args.special_proxy
    end
    request:set_proxy{host = host, port = 8080, type = 'HTTP'}
  end)

  assert(splash:go(args.url))
  return splash:html()
end

default_proxy اور special_proxy کو ہوسٹ نام کے طور پر، اور special_resource کو اس وسیلے کی درست URL کے طور پر دیں جسے الگ سے روٹ کرنا ہے۔ جب دونوں سننے والے مختلف ہوں تو مثال کا واحد پورٹ بدلیں۔ دیگر وسیلوں کو طے شدہ راستہ ملتا ہے۔ HTTP پراکسی فہرست ان ہوسٹ اور پورٹ فیلڈز کے لیے اینڈ پوائنٹ امیدوار فراہم کرتی ہے، جب عوامی وسیلوں کے راستے اجازت یافتہ ہوں اور امیدواروں پر کوئی پراکسی اسناد لاگو نہ ہوں۔

request طریقہ اختیاری username اور password فیلڈز قبول کرتا ہے۔ HTTP قسم کے ساتھ، HTTPS منزلیں اسی HTTP پراکسی کے ذریعے CONNECT استعمال کرتی ہیں؛ انہیں مصنوعی HTTPS پراکسی قسم کی ضرورت نہیں۔

کال بیک ہر درخواست سے پہلے چلتا ہے۔ اس کے request طریقے بھیجے جانے کے بعد درخواست تبدیل نہیں کر سکتے، اور کال بیک splash:go یا splash:wait جیسے غیر ہم وقت Splash طریقے نہیں بلا سکتا۔

جب صفحہ ایک سیشن یا ایک ماخذ شناخت کی توقع کرے تو راستے کا انتخاب مستحکم رکھیں۔ ہر تصویر اور API درخواست کو بے ترتیب طور پر کسی دوسرے اخراج کو تفویض کرنے سے ایسا رینڈر شدہ صفحہ بن سکتا ہے جس کی درخواستیں اب ایک مربوط سیشن سے تعلق نہیں رکھتیں۔

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