nodejs - 如何在ws中获取cookie(einaros)

时间:2014-07-25 08:19:23

标签: node.js websocket

在socketio中,我可以轻松地使用socket.handshake.headers.cookie获取cookie。我怎么能在ws中做同样的事情?

2 个答案:

答案 0 :(得分:4)

你可以尝试这个:ws.upgradeReq.headers.cookie

答案 1 :(得分:0)

我正在使用 client.upgradeReq.headers.cookie,但突然中断了。 我在 request.headers.cookie 中找到了 cookie:

wss.on('connection', function connection(client, request))
{
  ...
  var cookies = {};
  //Not working any more
  //if(client.upgradeReq.headers.cookie) request.headers.cookie.split(';')...
  //This works
  if(request.headers.cookie) request.headers.cookie.split(';').forEach(function(cookie)
  {
    var parts = cookie.match(/(.*?)=(.*)$/);
    var name = parts[1].trim();
    var value = (parts[2] || '').trim();
    cookies[ name ] = value;
  });
  ...