node.js - 如何从请求模块响应中存储cookie客户端

标签 node.js cookies electron node-request

我正在使用私有(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/

相关文章:

javascript - Cookie 不起作用并返回未定义

javascript - 'jekyll' 会干扰 jquery.cookie 吗?

javascript - 使用 request-promise 在 Electron 中链接 HTTP 请求

angularjs - 将文件从 Angular JS 上传到 Sails JS

node.js - Hyperledger-Composer:为什么使用 Node.js 而不是 Angular?

Node.js。加密 cookie 与签名 cookie

electron - 如何在 Electron 中实现延迟深度链接

javascript - "Cannot find module jquery"在 Electron 应用中

node.js - 与 socket.io 和 uci 下棋

javascript - Mongodb 查询 - 和条件