Python websocket-client WebSocketApp代理没有连接?

时间:2016-05-08 23:27:21

标签: python proxy websocket

我试图将代理与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 ##

请帮忙吗?

1 个答案:

答案 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)

失败的原因是远程服务器正在关闭连接,因为您连接的是服务器上的安全端口,但没有在客户端上使用安全连接。