Python websocket-client: connettersi attraverso un proxy SOCKS5
Configura websocket-client con un tipo di proxy SOCKS documentato e lascia che la libreria gestisca il livello TLS di una connessione wss.
from websocket import create_connection
ws = create_connection(
"wss://service.example.net/socket",
http_proxy_host="127.0.0.1",
http_proxy_port=1080,
proxy_type="socks5h",
timeout=15,
)
Usalo con websocket-client e la sua dipendenza SOCKS documentata già disponibile. Per i servizi WSS pubblici su un percorso proxy pubblico consentito, la lista di proxy SOCKS5 fornisce candidati per l'host e la porta del proxy. Sebbene le chiavi host/porta si chiamino http_proxy_*, proxy_type='socks5h' seleziona SOCKS5 con gestione del nome di destinazione lato proxy.
L'ordine è negoziazione del proxy per ottenere un flusso di destinazione, TLS verificato per WSS, poi l'handshake WebSocket. Il nome host del proxy non è l'identità TLS del sito web. Disattivare la verifica non ripara una fase TLS posizionata male.
Per un proxy autenticato, usa l'argomento documentato della versione installata per quel tipo di proxy. Le intestazioni WebSocket dell'applicazione non autenticano l'intermediario precedente.
Un socket fornito manualmente trasferisce la responsabilità di quei livelli all'integrazione. Preferisci l'interfaccia della libreria quando è adatta e mantieni websocket-client separato dal pacchetto websockets versionato separatamente.