به PRAW 8.0.3 از طریق requestor_kwargs یک نشست Requests با پشتیبانی SOCKS بدهید:

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 را بررسی کنید. غیرفعال کردن آن همچنین مستلزم تأمین هرگونه ورودی اعتماد و احراز هویتی است که پیش‌تر از آن محیط می‌آمد.

مقالات مرتبط