Python websocket-client: verbinden via een SOCKS5-proxy
Configureer websocket-client met een gedocumenteerd SOCKS-proxytype en laat de bibliotheek de TLS-laag van een wss-verbinding afhandelen.
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,
)
Gebruik dit met websocket-client en de gedocumenteerde SOCKS-afhankelijkheid die al beschikbaar is. Voor openbare WSS-diensten op een toegestane openbare proxyroute levert de SOCKS5-proxylijst kandidaten voor de proxyhost en -poort. Hoewel de host-/poortsleutels http_proxy_* heten, selecteert proxy_type='socks5h' SOCKS5 met doelnaamafhandeling aan de proxyzijde.
De volgorde is proxyonderhandeling om een bestemmingsstream te verkrijgen, geverifieerde TLS voor WSS en dan de WebSocket-handshake. De proxynaam is niet de TLS-identiteit van de website. Verificatie uitschakelen herstelt geen verkeerd geplaatste TLS-stap.
Gebruik voor een geauthenticeerde proxy het gedocumenteerde argument van de geïnstalleerde versie voor dat proxytype. WebSocket-headers van de toepassing authenticeren de eerdere tussenpersoon niet.
Een handmatig geleverde socket draagt de verantwoordelijkheid voor die lagen over aan de integratie. Geef de voorkeur aan de bibliotheekinterface wanneer dat past, en houd websocket-client gescheiden van het apart geversioneerde websockets-pakket.