Dejte PRAW 8.0.3 relaci Requests s podporou SOCKS prostřednictvím 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},
)

Použijte přihlašovací údaje Redditu a user agent aplikace a poté provádějte volání API přes tuto instanci reddit. Její requestor a relaci spravujte běžným úklidem aplikace.

Requests vyžaduje svou podporu SOCKS. socks5h předává překlad názvu cíle proxy; socks5 jej překládá lokálně.

Veřejný koncový bod ze seznamu proxy SOCKS5 může poskytnout adresu v této mapě. Nejprve vytvořte Session() a aktualizujte jeho atribut proxies, jak je znázorněno. Jeho konstruktor nemá klíčové slovo proxies.

Poskytnutá relace si zachovává integraci Requests s prostředím, takže zděděná nastavení proxy a obcházení mohou ovlivnit volbu trasy. Pro trasu zcela vlastněnou aplikací zkontrolujte trust_env. Jeho vypnutí také vyžaduje dodání všech vstupů důvěry a ověřování, které dříve přicházely z tohoto prostředí.

Související články