如何使用Node请求包将cookie存储在本地存储中



我想模仿签署一些网站。当它恐慌时,我需要重新运行应用程序,并输入captcha。我希望安装主管自动重新运行它并重用我得到的cookie,但我发现请求的Jar没有一些方法,比如从其他服务器设置cookie。我只能像文档一样设置我创建的cookie:

// `npm install --save tough-cookie` before this works
var j = request.jar()
var cookie = request.cookie('your_cookie_here')
j.setCookie(cookie, uri);
request({url: 'http://www.google.com', jar: j}, function () {
  request('http://images.google.com')
})

并获得类似的cookie

var j = request.jar() 
request({url: 'http://www.google.com', jar: j}, function () {
  var cookie_string = j.getCookieString(uri); // "key1=value1; key2=value2; ..."
  var cookies = j.getCookies(uri); 
  // [{key: 'key1', value: 'value1', domain: "www.google.com", ...}, ...]
})

如何重用从其他服务器获得的cookie?

在https://github.com/request/request:

使用自定义cookie存储(例如FileCookieStore支持保存到JSON文件和从JSON文件恢复),将其作为参数传递至request.jar():

var FileCookieStore = require('tough-cookie-filestore');
// NOTE - currently the 'cookies.json' file must already exist!
var j = request.jar(new FileCookieStore('cookies.json'));
request = request.defaults({ jar : j })
request('http://www.google.com', function() {
  request('http://images.google.com')
})

相关内容

  • 没有找到相关文章

最新更新