【问题标题】:Reading cookie information from a WebSocket request从 WebSocket 请求中读取 cookie 信息
【发布时间】:2012-05-22 23:54:55
【问题描述】:

我正在使用 Node.js 和 WebSocket-Node (WebSocket-Node) 创建 WebService。我需要从 Web 服务器访问 cookie 或会话信息,以将 WebSocket 连接绑定到用户 ID。我知道 cookie 信息是通过 req.cookies 发送的,但我不熟悉访问“connect.sid”cookie 的语法。

谢谢!

【问题讨论】:

    标签: node.js cookies websocket connect


    【解决方案1】:

    通过查看库代码(大约第 200 行):

    https://github.com/Worlize/WebSocket-Node/blob/master/lib/WebSocketRequest.js

    cookies 似乎是一个具有“名称”和“值”属性的对象数组

    所以你可以有这样的功能(未测试):

    function getSidFromCookies(cookies) {
         var filtered = cookies.filter(function(obj) {
             return obj.name == 'connect.sid';
         });
         return filtered.length > 0 ? filtered[0].value : null;
    }
    

    那么你可以这样做:

    var connectSid = getSidFromCookies(req.cookies);
    

    connectSid 将是 cookie 值或 null

    【讨论】:

    • 对不起,小错字,我会更新答案代码=D(该函数只需要返回filtered[0].value而不是对象本身)
    猜你喜欢
    • 2017-05-17
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多