在Socket.io中获取特定cookie的值

时间:2014-07-27 11:15:45

标签: cookies socket.io socket.io-1.0

我在我的应用程序中使用socket.io进行实时消息交换(大多数应用程序不是在节点中编写的)。我正在寻找一种方法来获取Socket.io的特定cookie值。

我到目前为止最接近的是使用:client.request.headers.cookie,它返回一个字符串: io=Ntp0MJVr3J_ifTKjAAAA; my_sess=c08mk6g0u66ifrjm6madt7535mknb7ur; other=fk1sq140hgj6gmp1vdcimkto71

我对所有这些值都不感兴趣,只需要my_sess。当然我可以拆分并解析字符串。这并不是那么难,最直接的方式是:

var value = cookieStr.split('my_sess=')[1].split('; ')[0];

但在此之前,我宁愿询问是否有一种原生方法可以给我cookie值。

1 个答案:

答案 0 :(得分:1)

您可以安装cookie - 一个用于cookie解析和序列化的小模块:

npm install cookie

但是如果您使用的是Express框架,则可以require cookie模块而不安装它:

var cookie = require('express/node_modules/cookie');

然后使用它:

var value = cookie.parse(cookieStr).my_sess;