我在我的应用程序中使用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值。
答案 0 :(得分:1)
您可以安装cookie - 一个用于cookie解析和序列化的小模块:
npm install cookie
但是如果您使用的是Express框架,则可以require
cookie模块而不安装它:
var cookie = require('express/node_modules/cookie');
然后使用它:
var value = cookie.parse(cookieStr).my_sess;