Déalle a PRAW 8.0.3 unha sesión de Requests con SOCKS mediante 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 de Reddit e o user agent da aplicación e, despois, faga chamadas á API a través desta instancia reddit. Xestione o seu requestor e a súa sesión coa limpeza habitual da aplicación.

Requests necesita o seu soporte SOCKS. socks5h delega a resolución do nome de destino no proxy; socks5 resólvea localmente.

Un punto de conexión público da lista de proxies SOCKS5 pode fornecer o enderezo deste mapa. Cree primeiro Session() e actualice o seu atributo proxies como se mostra. O seu construtor non ten a palabra clave proxies.

A sesión fornecida conserva a integración de Requests co contorno, polo que os axustes herdados de proxy e omisión poden afectar a selección de ruta. Para unha ruta totalmente propia da aplicación, revise trust_env. Desactivalo tamén esixe fornecer calquera dato de confianza e autenticación que antes proviñese dese contorno.

Artigos relacionados