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。

顺序是先进行代理协商以获得目标数据流,再为 WSS 进行已验证的 TLS,然后是 WebSocket 握手。代理主机名不是网站的 TLS 身份。禁用验证并不能修复位置错误的 TLS 阶段。

对于需要认证的代理,请使用已安装版本中针对该代理类型的有文档记录的参数。应用程序的 WebSocket 头不会认证先前的中间者。

手动提供的套接字将这些层的责任转移给集成方。合适时优先使用库接口,并将 websocket-client 与单独版本化的 websockets 包区分开。

相关文章