【问题标题】:In Socket.io, how to get the stored cookie information?在 Socket.io 中,如何获取存储的 cookie 信息?
【发布时间】:2018-04-06 16:25:47
【问题描述】:

在使用 express 的节点应用程序中,我存储了 cookie 信息。现在我需要在 socket.io 中获取存储的 cookie 信息。我怎样才能得到这个?

    app.use(function (req, res, next) {

        res.cookie('cookieName','1', { maxAge: 50000, httpOnly: true });
    });

    io.sockets.on('connection', function (socket) {

     //here i need to access the cookie.how can i do this

    });

【问题讨论】:

    标签: node.js cookies express


    【解决方案1】:

    我终于找到了答案。下面的代码将获取 cookie 信息。

         io.sockets.on('connection', function (socket) {
    
              var cookie=socket.handshake.headers['cookie'];
    
         });
    

    【讨论】:

    • 你怎么解析这个?它提供了某种以s:j: 开头的不可解析的JSON 字符串。那是什么??
    • 它给了我这样的; io=pYb2vzAd8wWW……,和我的cookies信息不一样?我能做什么?
    【解决方案2】:

    查看连接事件后提供的 socket.request 对象。

    引用 docs = “一个 getter 代理,它返回对发起底层 engine.io 客户端的请求的引用。对于访问请求标头(如 Cookie 或 User-Agent)很有用。”

    我认为这个功能在版本 0.* 中没有,它仅在 1 及更高版本中提供。

    详细文档的此链接是一种隐藏 = https://github.com/socketio/socket.io/blob/master/docs/API.md#socketrequest

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 2017-08-13
      • 2016-10-09
      相关资源
      最近更新 更多