簡體   English   中英

node.js socket.io 獲取cookie值

[英]node.js socket.io get cookie value

我想使用 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' });
});

它在這里工作,但使用 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("cookies");

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

使用cookie.parse()解析cookief cookies將允許您將每個 cookie 值作為 JSON 對象訪問:

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

或者

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM