通过python websocket客户端传递cookie

时间:2015-02-02 19:55:58

标签: python node.js cookies websocket python-requests

我正在使用websocket-client连接到node.js服务器(这是我的websocket服务器),并且我已经能够通过websockets从python成功发送消息到node.js。

我的python客户端使用requests模块登录网站并收集cookie(由于成功登录而从服务器传递)。我希望这些cookie作为websocket-client的一部分传递,如代码here所示。

我从登录处获得以下cookie:

(Pdb) requests.utils.dict_from_cookiejar(client.cookies)
{'csrftoken': 'DhSf0z9Ouu5f1SbfGWBg5BuBe1UuJMLr', 'sessionid': 'pu6ig4z4mtq5k8rvm6kuv8g3fdegs47d'}

创建websocket时如何发送该cookie?

ws = websocket.WebSocketApp("ws://localhost:8080/",
                          on_message = on_message,
                          on_error = on_error,
                          on_close = on_close,
                          # cookie = ? what goes here ?
    )

1 个答案:

答案 0 :(得分:5)

就是这样:

ws = websocket.WebSocketApp("ws://localhost:8080/",
                          on_message = on_message,
                          on_error = on_error,
                          on_close = on_close,
                          cookie = "csrftoken=DhSf0z9Ouu5f1SbfGWBg5BuBe1UuJMLr; sessionid=pu6ig4z4mtq5k8rvm6kuv8g3fdegs47d"
)

这是为了传递一个简单的字符串