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,
)

Użyj tego z websocket-client i jego udokumentowaną zależnością SOCKS, która jest już dostępna. Dla publicznych usług WSS na dozwolonej trasie publicznego proxy lista proxy SOCKS5 dostarcza kandydatów dla hosta i portu proxy. Chociaż klucze hosta/portu nazywają się http_proxy_*, proxy_type='socks5h' wybiera SOCKS5 z obsługą nazwy celu po stronie proxy.

Kolejność to negocjacja proxy w celu uzyskania strumienia docelowego, zweryfikowany TLS dla WSS, a następnie uścisk dłoni WebSocket. Nazwa hosta proxy nie jest tożsamością TLS witryny. Wyłączenie weryfikacji nie naprawia źle umieszczonego etapu TLS.

W przypadku uwierzytelnionego proxy użyj udokumentowanego argumentu zainstalowanej wersji dla tego typu proxy. Nagłówki WebSocket aplikacji nie uwierzytelniają wcześniejszego pośrednika.

Ręcznie dostarczony socket przenosi odpowiedzialność za te warstwy na integrację. Preferuj interfejs biblioteki, gdy jest to właściwe, i trzymaj websocket-client oddzielnie od osobno wersjonowanego pakietu websockets.

Powiązane artykuły