Как сохранить куки на стороне клиента из ответа модуля запроса - PullRequest
0 голосов
/ 22 января 2020

Я создаю настольное приложение с электронным интерфейсом, используя частный API. Когда я делаю запрос, я получаю set-cook ie в res.headers, но я не знаю, как сохранить его локально. Сначала я сохранял все куки-файлы в одной переменной, поэтому последний набор ie перезаписывал старый, но в ходе дальнейших исследований я обнаружил, что куки-файлы не работают, и мне нужно объединить старый и новый отклик куки-файлов, но я не знаю, как это сделать.

Все, что я нахожу, это только установка нового повара ie на сервере, но никогда, как в браузере.

let cookies

request({
  uri: myUrl,
  method: 'GET'
}, function (err, res, body) {
  if (err) {}
  if (res.headers['set-cookie']) {
    cookies = res.headers['set-cookie']
  }
})

Ответы [ 2 ]

0 голосов
/ 24 января 2020

Удалось сделать это с помощью запроса и tough-cook ie -filestore для сохранения данных

var request = require('request')
const FileCookieStore = require('tough-cookie-filestore');
// NOTE - currently the 'cookies.json' file must already exist!
const j = request.jar(new FileCookieStore('./cookie.json'));
request = request.defaults({ jar : j })
0 голосов
/ 23 января 2020

Вам не нужно вручную обращаться с cookie-файлами, если вы просто хотите запомнить существующие.

Следующий пример со страницы запроса GitHub выполняет два последующих запроса. Во втором запросе будут установлены все файлы cookie, установленные первым.

const request = request.defaults({jar: true})
request('http://www.google.com', function () {
  request('http://images.google.com')
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...