2016-11-17 92 views
0

有一種方法可以像下面那樣創建帶SSL參數的websocket。如何使用SSL創建一個python websocket並在其中使用cookie?

ws = create_connection("ws://{0}/socket{1}".format(ip_addr, cookie), 
         sslopt={"cert_reqs": ssl.CERT_NONE, 
           "check_hostname": False, 
           "ssl_version": ssl.PROTOCOL_TLSv1}) 

從示例here,創建websocket連接的方法之一如下。但是,我沒有給出如何通過上面所做的SSL參數?

什麼方式使用帶SSL參數的'WebSocketApp'以及將cookie傳遞給它?

if __name__ == "__main__": 
    websocket.enableTrace(True) 
    if len(sys.argv) < 2: 
     host = "ws://echo.websocket.org/" 
    else: 
     host = sys.argv[1] 
    ws = websocket.WebSocketApp(host, 
           on_message=on_message, 
           on_error=on_error, 
           on_close=on_close) 
    ws.on_open = on_open 
    ws.run_forever() 

回答

2
  • 我估計到cookie傳遞到下面的連接方式。該Cookie在URL本身中編碼。注意:請參考您的服務器實現的URL組件。 ip_addr,端口和cookie可以是本地參數。

    url = "ws://{0}:{1}/socket{2}".format(str(ip_addr), str(port), cookie) 
    

    創建websocket連接時傳遞此URL。請參閱原始問題以查看URL的傳遞位置。

  • 我也找到了答案從參考here

    import ssl 
    
    ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE, 
            "check_hostname": False, 
            "ssl_version": ssl.PROTOCOL_TLSv1}) 
    

這兩種變化在我的工作的情況下通過SSL參數。

相關問題