Dê ao PRAW 8.0.3 uma sessão de Requests com SOCKS por meio de 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},
)

Use as credenciais do Reddit e o user agent da aplicação e depois faça chamadas de API por esta instância reddit. Gerencie o requestor e a sessão pela limpeza normal da aplicação.

O Requests precisa do seu suporte a SOCKS. O socks5h delega a resolução do nome de destino ao proxy; o socks5 resolve localmente.

Um endpoint público da lista de proxies SOCKS5 pode fornecer o endereço neste mapa. Crie primeiro Session() e atualize o atributo proxies como mostrado. O construtor não tem a palavra-chave proxies.

A sessão fornecida mantém a integração do Requests com o ambiente, então configurações herdadas de proxy e de contorno podem afetar a escolha da rota. Para uma rota totalmente da aplicação, revise trust_env. Desativá-lo também exige fornecer quaisquer dados de confiança e autenticação que antes vinham desse ambiente.

Artigos relacionados