Передайте 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. Его отключение также требует передать все параметры доверия и аутентификации, которые раньше приходили из этой среды.

Похожие статьи