解析饼干我想正确地读取由我通过在本地主机上的浏览器控制台设置我的节点服务器上的cookie:3000这样的:与socket.io
document.cookie = "tagname = test;secure";
document.cookie = "hello=1"
在我的节点服务器,我用sockets.io,当我得到一个连接请求时,我可以访问它是这样一个属性:
socket.request.headers.cookie
这是一个字符串,我总是看到这样的:
'io=QhsIVwS0zIGd-OliAAAA' //what comes after io= is random.
我试着翻译它与各种模块,但他们似乎无法解析字符串。这是我的最新尝试:
var cookie = require('cookie');
io.sockets.on('connection', function(socket) {
socket.on('addUser', function(){
var a = socket.request.headers.cookie;
var b = cookie.parse(a); //does not translate
console.log(b);
});
}
我明显想要获得一个对象,其中包含浏览器上每个io.connect发送的所有cookie。 我一直试图解决它5个小时,我真的不知道我在这里做错了什么。
客户端是什么?我没有定义任何被称为“客户端”的东西。当我粘贴该行时,我得到“客户端未定义” – user1938653
对不起,请忽略 –
@ user1938653您也可以在URL中将对象从客户端发送到服务器(io.connect('localhost:3000?{key:value}')),在后端,您可以从套接字中间件的URL中获取对象。 – KlwntSingh