gpt4 book ai didi

javascript - 如何在请求 Node js库中传递cookie

转载 作者:行者123 更新时间:2023-12-02 23:22:28 29 4
gpt4 key购买 nike

我当前正在使用一个请求来调用HTTP请求,使用request

工作正常。我的问题是如何传递cookie?

这是我所做的代码,

 export function triggerSimpleAjax(
url,
type = 'POST',
req_data,
onSuccess,
onFailure,
headers = {
'Content-Type': 'application/json'
}
) {
const request = require("request");
const jar = request.jar();
const cookie = request.cookie("name=John");
jar.add(cookie);
let options = {
url: url,
method: type.toUpperCase(),
headers: headers,
json: req_data
}

// console.log('********************************** API Starts here **********************************');
request(options, (error, response, body) => {
if (!error && response.statusCode == 200) {
onSuccess(response.body);
} else {
if (typeof onFailure === 'function') onFailure(response.body);
}
})
}

最佳答案

您可以创建一个 cookie jar 并在其中添加 cookie,然后将其与请求一起发送。

const request = require("request");
const jar = request.jar();
const cookie = request.cookie("name=John");

//Doesn't work anymore jar.add(cookie);
jar.setCookie(....);
request({
uri: "...",
method: "...",
jar: jar
}, function(error, response, body) {
console.log(body);
});

主要编辑:

请求使用 tough-cookie现在,语法是:

jar.setCookie(cookieOrString, currentUrl, [{options},] cb(err,cookie))

还有一个 sync 对应项:

.setCookieSync(cookieOrString, currentUrl, [{options}])
Synchronous version of setCookie; only works with synchronous stores (e.g. the default MemoryCookieStore).

关于javascript - 如何在请求 Node js库中传递cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56886848/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com