我试图将代理与websocket模块中包含的python WebSocketApp一起使用。但是,每当我使用此代码时,
ws=websocket.WebSocketApp('ws://echo.websocket.org:443')
ws.run_forever(http_proxy_host='my proxy here',http_proxy_port=80, # 80 is the proxy port
on_close=on_close)
我在控制台中得到了这个,然后套接字关闭
Connecting proxy...
--- request header ---
CONNECT echo.websocket.org:443 HTTP/1.0
-----------------------
--- response header ---
## SOCKET CLOSED ##
请帮忙吗?
答案 0 :(得分:2)
如果您想要安全连接,请在URI中使用wss
而非ws
的方案。默认端口为443,因此指定端口是可选的。试试这个:
websocket.enableTrace(True)
ws=websocket.WebSocketApp('wss://echo.websocket.org') # N.B. use secure socket
ws.run_forever(http_proxy_host='my proxy here', http_proxy_port=80, on_close=on_close)
失败的原因是远程服务器正在关闭连接,因为您连接的是服务器上的安全端口,但没有在客户端上使用安全连接。