Daj PRAW 8.0.3 sesję Requests obsługującą SOCKS przez 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},
)

Użyj danych logowania Reddita i user agenta aplikacji, a następnie wykonuj wywołania API przez tę instancję reddit. Zarządzaj jej requestorem i sesją przez zwykłe czyszczenie aplikacji.

Requests wymaga własnego wsparcia SOCKS. socks5h deleguje rozwiązanie nazwy docelowej do proxy; socks5 rozwiązuje ją lokalnie.

Publiczny punkt końcowy z listy proxy SOCKS5 może dostarczyć adres w tej mapie. Najpierw utwórz Session() i zaktualizuj jego atrybut proxies, jak pokazano. Jego konstruktor nie ma słowa kluczowego proxies.

Dostarczona sesja zachowuje integrację Requests ze środowiskiem, więc odziedziczone ustawienia proxy i obejścia mogą wpływać na wybór trasy. Aby trasa należała w pełni do aplikacji, przejrzyj trust_env. Wyłączenie go wymaga też podania wszelkich danych zaufania i uwierzytelniania, które wcześniej pochodziły z tego środowiska.

Powiązane artykuły