Python websocket-client: yhdistä SOCKS5-välityspalvelimen kautta
Määritä websocket-client dokumentoidulla SOCKS-välityspalvelintyypillä ja anna kirjaston hoitaa wss-yhteyden TLS-kerros.
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,
)
Käytä tätä websocket-clientin ja sen jo saatavilla olevan dokumentoidun SOCKS-riippuvuuden kanssa. Julkisille WSS-palveluille sallitulla julkisella välityspalvelinreitillä SOCKS5-välityspalvelinlista tarjoaa ehdokkaita välityspalvelimen isännälle ja portille. Vaikka isäntä/portti-avaimet ovat nimeltään http_proxy_*, proxy_type='socks5h' valitsee SOCKS5:n kohdenimen käsittelyllä välityspalvelimen puolella.
Järjestys on välityspalvelinneuvottelu kohdevirran saamiseksi, vahvistettu TLS WSS:ää varten ja sitten WebSocket-kättely. Välityspalvelimen isäntänimi ei ole verkkosivuston TLS-identiteetti. Vahvistuksen poistaminen käytöstä ei korjaa väärään paikkaan sijoitettua TLS-vaihetta.
Todennetun välityspalvelimen kohdalla käytä asennetun version dokumentoitua argumenttia kyseiselle välityspalvelintyypille. Sovelluksen WebSocket-otsakkeet eivät todista aiempaa välittäjää.
Manuaalisesti toimitettu socket siirtää näiden kerrosten vastuun integraatiolle. Suosi kirjaston rajapintaa, kun se sopii, ja pidä websocket-client erillään erikseen versioidusta websockets-paketista.