首页 > 解决方案 > CookieJars 获取所有 cookie,nodeJS 使用 request-promise

问题描述

我正在努力在request-promise需要 cookie 才能查看或请求成功的站点上使用 npm 成功发出请求。

此后,我研究了 cookieJars,以便在请求完成后存储所有在响应中给出的内容。

const rp = require("request-promise")
var cookieJar = rp.jar()
function grabcfToken(){
let token  = ""
let options = {
    url : 'https://www.off---white.com/en/GB',
    method: "GET",
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',
    resolveWithFullResponse : true
}

rp(options)
    .then((response)=>{
        console.log(response)
    }) 
    .catch((error)=>{
        console.log(error)
    })

}

有人可以告诉我为什么请求没有成功通过吗?如何应用在超时之前最初获得的 cookie。

标签: node.jscookiesjarrequestrequest-promise

解决方案


const rp = require("request-promise")
var cookieJar = rp.jar()
function grabcfToken(){
let token  = ""
let options = {
    url : 'https://www.off---white.com/en/GB',
    method: "GET",
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',
    resolveWithFullResponse : true,       
   jar: cookieJar
}

rp(options)
    .then((response)=>{
        console.log(response)
    }) 
    .catch((error)=>{
        console.log(error)
    })
}

如果您询问是否包含您的 jar,其中您填充了要发送到的请求中的 cookie,您必须在发送之前添加jar: cookiejar作为您的选项对象的 pasrt。


推荐阅读