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

标签 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']);

最佳答案

您必须将 cookie 解析为单独的 cookie 和属性。通常使用的模块是 cookie-parser .

为了与socket.io一起使用,您可以使用一个名为socket.io-cookie-parser的小包装器来与socket.io一起使用。 .

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'];
});

关于javascript - 如何在socket.io中获取特定的cookie值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43359467/

相关文章:

javascript - 如何在 Angular 服务中加载 $cookies?

javascript - 从 Controller 获取的路由

javascript - 如何让 HTML 表单提交(和 Python 函数返回)使用 Flask 什么都不做

javascript - Angular 中 ngOnInit() 动态创建类字段

node.js - 找不到 gulp 命令 (Mac OS)

asp.net-mvc - ASP.NET MVC-信用卡数据的安全临时存储

javascript - 证明 JavaScript 已更新父 div 元素内的子 div 元素

node.js - 为什么调用 child_process 命令可以与 exec 一起使用,但不能与 Spawn 一起使用?

javascript - 使用 token 在后端和前端识别用户进行身份验证

javascript - 单击按钮时删除两个 cookie