Python websocket-client: forbind gennem en SOCKS5-proxy
Konfigurer websocket-client med en dokumenteret SOCKS-proxytype, og lad biblioteket håndtere TLS-laget i en wss-forbindelse.
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,
)
Brug dette med websocket-client og dens dokumenterede SOCKS-afhængighed, som allerede er tilgængelig. Til offentlige WSS-tjenester på en tilladt offentlig proxy-rute leverer SOCKS5-proxylisten kandidater til proxyens vært og port. Selvom værts-/portnøglerne hedder http_proxy_*, vælger proxy_type='socks5h' SOCKS5 med målnavnhåndtering på proxysiden.
Rækkefølgen er proxyforhandling for at få en destinationsstrøm, verificeret TLS til WSS og derefter WebSocket-håndtrykket. Proxyens værtsnavn er ikke webstedets TLS-identitet. Deaktivering af verifikation reparerer ikke et fejlplaceret TLS-trin.
Brug for en autentificeret proxy den installerede versions dokumenterede argument for den proxytype. Applikationens WebSocket-headere autentificerer ikke den tidligere mellemmand.
En manuelt leveret socket overfører ansvaret for disse lag til integrationen. Foretræk bibliotekets grænseflade, når det er passende, og hold websocket-client adskilt fra pakken websockets, der versioneres separat.