gpt4 book ai didi

javascript - node.js socket.io 获取 cookie 值

转载 作者:搜寻专家 更新时间:2023-10-31 23:41:52 26 4
gpt4 key购买 nike

我想用 socket.io 获取 Node 服务器中的 cookie 值

所以每次套接字向服务器发送消息时我都会检查cookie的值

(我不想要 session cookie)仅在 express 中我通过以下方式获取 cookie

 router.get('/', function(req, res, next) {

var cookie_id = req.cookies.userIDf;
console.log(cookie_id);
res.render('index', { title: 'Express' });
});

它在这里工作,但使用 socket.io 我无法获得 cookie 任何解决方案?

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


var cookief =socket.handshake.headers['cookie'];
console.log(cookief); // its give me session id not the cookies
});

最佳答案

您可以使用 cookie模块来执行此操作。

npm install --save cookie

var cookie = require("cookie") //installed from npm;

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

var cookief = socket.handshake.headers.cookie;
var cookies = cookie.parse(socket.handshake.headers.cookie);

});

cookief 将返回,但不能作为 JSON 对象访问。

 io=5J1m_uXsDZvc61gTAAAA; userID=63kfh16tiu7md3ck7djv8856s0; userIDf=50

cookies,它使用 cookie.parse() 解析 cookief,将允许您以 JSON 形式访问每个 cookie 值对象:

 cookies.io; //Returns 5J1m_uXsDZvc61gTAAAA
cookies.userID; //Returns 63kfh16tiu7md3ck7djv8856s0
cookies.userIDf; //Returns 50

 { io: 'RqIksBUQW4SM4zA4AAAA', userID: '63kfh16tiu7md3ck7djv8856s0', userIDf: '50' }

关于javascript - node.js socket.io 获取 cookie 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33316013/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com