Мак*_*ков 4 javascript sockets cookies node.js
我想使用 socket.io 在节点服务器中获取 cookie 值
所以每次套接字向服务器发送消息时,我都会检查 cookie 的值
(我不想要会话 cookie)只有在 express 我得到 cookie
router.get('/', function(req, res, next) {
var cookie_id = req.cookies.userIDf;
console.log(cookie_id);
res.render('index', { title: 'Express' });
});
Run Code Online (Sandbox Code Playgroud)
它在这里工作,但使用 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
});
Run Code Online (Sandbox Code Playgroud)
您可以使用cookie模块来执行此操作。
npm install --save cookie
var cookie = require("cookies");
io.on('connection', function (socket) {
var cookief = socket.handshake.headers.cookie;
var cookies = cookie.parse(socket.handshake.headers.cookie);
});
Run Code Online (Sandbox Code Playgroud)
cookief 将返回,但不能作为 JSON 对象访问。
io=5J1m_uXsDZvc61gTAAAA; userID=63kfh16tiu7md3ck7djv8856s0; userIDf=50
Run Code Online (Sandbox Code Playgroud)
cookies,它cookief使用解析cookie.parse(),将允许您将每个 cookie 值作为 JSON 对象访问:
cookies.io; //Returns 5J1m_uXsDZvc61gTAAAA
cookies.userID; //Returns 63kfh16tiu7md3ck7djv8856s0
cookies.userIDf; //Returns 50
Run Code Online (Sandbox Code Playgroud)
或者
{ io: 'RqIksBUQW4SM4zA4AAAA', userID: '63kfh16tiu7md3ck7djv8856s0', userIDf: '50' }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9765 次 |
| 最近记录: |