امنح PRAW 8.0.3 جلسة Requests واعية بـ SOCKS عبر requestor_kwargs:

import praw
import requests

session = requests.Session()
session.proxies.update({
    'http': 'socks5h://proxy.example:1080',
    'https': 'socks5h://proxy.example:1080',
})
reddit = praw.Reddit(
    client_id=client_id,
    client_secret=client_secret,
    user_agent=user_agent,
    requestor_kwargs={'session': session},
)

استخدم بيانات اعتماد Reddit وuser agent الخاصة بالتطبيق، ثم نفّذ نداءات API عبر نسخة reddit هذه. أدِر requestor والجلسة عبر التنظيف المعتاد للتطبيق.

يحتاج Requests إلى دعم SOCKS الخاص به. يفوّض socks5h حل اسم الوجهة إلى الوسيط؛ أما socks5 فيحلّه محليًا.

يمكن لنقطة نهاية عامة من قائمة وسطاء SOCKS5 أن توفّر العنوان في هذه الخريطة. أنشئ Session() أولًا وحدّث سمة proxies كما هو موضح. لا يملك مُنشئه كلمة مفتاحية proxies.

تحتفظ الجلسة المزوّدة بتكامل Requests مع البيئة، لذا قد تؤثر إعدادات الوسيط والتجاوز الموروثة في اختيار المسار. للحصول على مسار يملكه التطبيق بالكامل، راجع trust_env. ويتطلب تعطيله أيضًا توفير أي مدخلات ثقة ومصادقة كانت تأتي من تلك البيئة.

مقالات ذات صلة