Python Requests: proxies را به request() بدهید، نه به Request
پیکربندی پروکسی را روی APIای بگذارید که درخواست را میفرستد، نه روی سازندهٔ شیء Request که پیام HTTP را توصیف میکند.
Requests یک کلاس Request و یک تابع request با حروف کوچک ارائه میکند. تغییر بزرگی و کوچکی حروف میتواند یک API معتبر را با فهرست آرگومان نادرست فراخوانی کند، بهجای آنکه خطای سادهٔ تابع ناشناخته بدهد.
شیء Request پیام HTTP را توصیف میکند. پیکربندی پروکسی متعلق به APIای است که آن را میفرستد. برای یک فراخوانی معمولی:
response = requests.request(
'GET', 'https://example.com/',
proxies=routes, timeout=15
)اینجا routes همان نگاشت پروکسی انتخابشده برای این عملیات است. برای درخواستهای عمومی مجاز، فهرست پروکسی رایگان نامزدهایی برای قالببندی با پروتکلی ارائه میکند که آن نصب Requests پشتیبانی میکند. دادن همان کلیدواژهٔ proxies به سازندهٔ requests.Request معادل نیست.
اگر برنامه عمداً از درخواستهای آماده استفاده میکند، آمادهسازی پیام و پیکربندی ارسال را جدا نگه دارید. جریان ارسال نشست همچنین به ادغام محیط موردنظر، مهلت زمانی، بررسی و تنظیمات پروکسی نیاز دارد.
ناسازگاری API را پیش از جایگزینی نقاط پایانی پروکسی برطرف کنید. خطای TypeError در سازنده پیش از آن رخ میدهد که آن شیء درخواست شبکهٔ موردنظر را انجام داده باشد.