Scrapy shell-এ একটি ফেচের জন্য প্রক্সি
Scrapy shell-এ Request-এর প্রক্সি মেটাডেটা ব্যবহার করুন এবং সেই কনফিগার করা অনুরোধের প্রতিক্রিয়া পরীক্ষা করুন।
Scrapy shell-এর ভিতরে, ডাউনলোডারকে যে অনুরোধটি সম্পাদন করতে চান তা তৈরি করুন:
from scrapy import Request
fetch(Request(
"https://www.example.com/",
meta={"proxy": "http://proxy.example:8080"},
))
response.status
HttpProxyMiddleware সেই Request-এর মেটাডেটা থেকে প্রক্সি মান পড়ে। এটি সক্রিয় ডাউনলোডার মিডলওয়্যার কনফিগারেশনে সক্রিয় থাকতে হবে। এর পরের response ভেরিয়েবলটি এই ফেচের। এই পাবলিক URL-এর জন্য, পাবলিক মধ্যস্থতাকারী অনুমোদিত হলে HTTP প্রক্সি তালিকা থেকে প্রমাণীকরণহীন HTTP ঠিকানা বেছে নিন, তারপর সেই অনুরোধের প্রক্সি মেটাডেটায় এর URL রাখুন।
Scrapy প্রকল্প থেকে shell চালু করলে এটি সেই প্রকল্পের কনফিগারেশন লোড করতে পারে। এটি মিডলওয়্যার ও অন্যান্য সেটিংস বেছে নেয়; এটি নিজে কোনো নির্দিষ্ট প্রক্সি এন্ডপয়েন্ট বেছে নেয় না। উপরের অনুরোধ মেটাডেটা সেই পছন্দ সরাসরি সরবরাহ করে।
Basic শংসাপত্র ব্যবহার করা প্রক্সির জন্য, Scrapy প্রক্সি URL-এ ব্যবহারকারীর তথ্য নথিভুক্ত করে। এটি তৈরি করার আগে অ্যাকাউন্টের অংশগুলিতে সংরক্ষিত অক্ষরগুলি এনকোড করুন। সেই অ্যাকাউন্টের জন্য ওয়েবসাইট Authorization হেডার যোগ করার দরকার নেই।
Scrapy তার সমর্থিত পরিবেশ চলক থেকেও প্রক্সি খুঁজে পেতে পারে। অনুরোধের স্পষ্ট প্রক্সি মেটাডেটার অগ্রাধিকার থাকে। ইচ্ছাকৃতভাবে সরাসরি অনুরোধের জন্য, None প্রক্সি মান সেই মিডলওয়্যারের পরিবেশ-ভিত্তিক নির্বাচন অনুরোধের জন্য বন্ধ করে দেয়।