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

Выкарыстоўвайце гэта з websocket-client і яго дакументаванай залежнасцю ад SOCKS, якая ўжо даступная. Для публічных службаў WSS на дазволеным маршруце публічнага праксі спіс праксі SOCKS5 дае кандыдатаў для хаста і порта праксі. Хоць ключы хаста/порта называюцца http_proxy_*, proxy_type='socks5h' выбірае SOCKS5 з апрацоўкай імя мэты на баку праксі.

Парадак такі: перагаворы з праксі для атрымання патоку прызначэння, правераны TLS для WSS, затым рукапоціск WebSocket. Імя хаста праксі не з'яўляецца ідэнтычнасцю TLS сайта. Адключэнне праверкі не выпраўляе няправільна размешчаны этап TLS.

Для праксі з аўтэнтыфікацыяй выкарыстоўвайце дакументаваны аргумент усталяванай версіі для гэтага тыпу праксі. Загалоўкі WebSocket прыкладання не аўтэнтыфікуюць папярэдняга пасярэдніка.

Сокет, прадстаўлены ўручную, пераносіць адказнасць за гэтыя слаі на інтэграцыю. Аддавайце перавагу інтэрфейсу бібліятэкі, калі гэта мэтазгодна, і трымайце websocket-client асобна ад пакета websockets з асобным версіяваннем.

Падобныя артыкулы