使用express的cookie-parser设置cookie时,怎么使字符串内特殊符号不被encode?
发布于 8 年前 作者 k-jay-wang 3834 次浏览 来自 问答

在我用express设置cookie的时候,需要在cookie中存放带有" 和@的字符串,但是每次设置express都会把这些字符进行encode 如何才能让cookie里存放不被编码的字符串呢? 存的代码:

res.cookie(“test”, "test@qq.com", {‘maxAge’ : ‘10800000’});

结果: 2.pic.jpg

6 回复

解释一下,不考虑cookie在不同浏览器下解析不一致,也不考虑先编码再存然后在前端解码的方法。。因为之前我们的Java服务就能够存@符号,所以希望大家能帮我解开这个疑惑,为什么express就不能不转码呐。。

不知道http的规范是不是cookie不用encode? From Noder

其实嘛。。。cookie都是服务端自己用,所以编成什么鬼样它都会自己识别。。。我们真的要用的时候decode一下就好了ㄟ( ▔, ▔ )ㄏ

@qimenxiaozi 规范上貌似是会把特殊字符进行encode…但是我看到过有没被encode的特殊字符存在cookie里,想不通为什么会这样,虽然encode之后存cookie是更好地办法…

@kenberkeley 实际证明虽然在chrome里看到的是encode后的字符串,但是前端取出来的字符串确实decode后的😄 但是看上去好不爽😢

@k-jay-wang 强迫症真的是木有办法。。。

回到顶部