如何在socket.io中获取特定的cookie值

时间:2017-04-12 02:56:55

标签: javascript node.js cookies socket.io

我现在可以使用socket.request.headers.cookie显示所有Cookie。

当我控制台时输出就像这样

PHPSESSID=mtklg8k81cpkop5ug6aechbb34; user=77; io=1Klg6xgTRXhb2OWiAAAA

如何才能获得77的用户值?下面的代码给我一个错误未定义

var cookief = socket.request.headers.cookie;
console.log(cookief['user']);

1 个答案:

答案 0 :(得分:1)

您必须将Cookie解析为各自的Cookie和属性。通常使用的模块是cookie-parser

与socket.io一起使用时,可以使用一个小包装器与socket.io一起使用,名为socket.io-cookie-parser

const cookieParser = require('socket.io-cookie-parser');
io.use(cookieParser());

io.on('connection', function(socket) {
    // access socket.request.cookies
    console.log(socket.request.cookies['user'];
});