为什么节点获取无法从响应头中检索Cookie

ela*_*juh 5 cookies fetch

我正在使用node-fetch登录网站。该站点的响应中设置了cookie,我可以通过它们进行观察response.headers。但是,当我尝试使用时response.headers.get('set-cookie'),它只显示cookie数组的一部分,而response.headers._headers['set-cookie']工作正常...如果set-cookie在访存API中被禁止,为什么我仍然在响应头中看到它?

art*_*boy 5

更新Rachel的答案

您需要使用.get(),而不是.getAll()现在,因为2版本。

response.headers.get('set-cookie')
Run Code Online (Sandbox Code Playgroud)

来源

  • 问题是,您必须自己拆分标头,因为它包含多个 cookie。这可能会导致问题,因为它们通过 `,` 拆分,并且某些 cookie 可能在其 cookie 中包含 `,`。 (2认同)

小智 3

我知道这是一个迟到的答复,但我自己也遇到了这个问题并遇到了你的问题。在 web-api 标头的文档中,我发现某些浏览器(和 polyfill)支持已弃用的 getAll 函数。这解决了我的问题。

response.headers.getAll('set-cookie')

文档