我正在Node.JS中进行类似浏览器的cookie处理,并想知道从NodeJS and HTTP Client - Are cookies supported?
扩展这段代码的距离代码在第一个分号后删除所有内容。
var cookie = get(response.headers, "Set-Cookie")
if (cookie) {
cookie = (cookie + "").split(";").shift()
set(opts.headers, "Cookie", cookie)
}
我将以有限的方式对此进行扩展,并且正在研究如何避免重写未来的步骤。
我看到使用多个Set-Cookie标头设置了多个Cookie。
答案 0 :(得分:5)
在第一个分号后丢弃所有内容是一个坏主意,因为它带有cookie元数据。这是我从StackOverflow收到的Set-Cookie标头(稍微编辑):
usr=t=ABCDEFGHIJ&s=23412341234; domain=.stackoverflow.com; expires=Fri, 04-Nov-2011 07:39:57 GMT; path=/; HttpOnly
设置多个cookie如下所示:
hest2=spam, pony2=spam, sovs2=spam; expires=Wed, 04-May-2011 07:51:27 GMT, NO_CACHE=Y; expires=Wed, 04-May-2011 07:56:27 GMT; path=/; domain=.something.d6.revealit.dk
因此,cookie字符串的解析相当复杂,所以我认为没有一种简单的方法可以实现这一点......