我正在使用私有(private) API 创建一个带有 Electron 的桌面应用程序。当我提出请求时,我在 res.headers 中获得了 set-cookie,但我不知道如何在本地存储它。
首先,我将每个 cookie 存储在一个变量中,因此最后一个 set-cookie 覆盖了旧的,但通过进一步研究,我发现 cookie 不是那样工作的,我需要合并旧的和新的 cookie 响应,但我没有知道该怎么做。
我发现的一切只是设置一个新的 cookie 服务器端,但绝不像浏览器那样。
let cookies
request({
uri: myUrl,
method: 'GET'
}, function (err, res, body) {
if (err) {}
if (res.headers['set-cookie']) {
cookies = res.headers['set-cookie']
}
})
最佳答案
如果您只想记住现有的 cookie,则无需手动处理 cookie。
以下示例来自 request GitHub page发出两个后续请求。第二个请求将包含第一个请求设置的所有 cookie。
const request = request.defaults({jar: true})
request('http://www.google.com', function () {
request('http://images.google.com')
})
关于node.js - 如何从请求模块响应中存储cookie客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59862879/