gpt4 book ai didi

javascript - 如何使用 NodeJs 请求 GET 模块发送 cookie?

转载 作者:数据小太阳 更新时间:2023-10-29 05:47:52 24 4
gpt4 key购买 nike

我正在使用 NodeJs 开发一个项目,该项目要求我登录以获取一个 cookie,该 cookie 将在检索数据时使用。我有以下代码可以成功登录并返回一个格式正确的 cookie:

 var request = require('request');

var requestData = {
"username":"myUsername",
"password":"myPassword"
}

//request post request
request({
url: 'http://localhost/login',
method: "POST",
json: requestData}
,function(err, res) {
if(err){
console.log("it did not work: " + err)
}

console.log(res.statusCode)//logs as 201 sucess
console.log("heres the cookie: "+res.headers['set-cookie']) //returns cookie in correct format
var cookie = res.headers['set-cookie']
//requesting data
request({
url: 'http://localhost/delivery-stats',
method: "GET",
header: {
'set-cookie': cookie
}
},function(err,response){
console.log(response.headers) // one of the headers says user is not authorised

}
)

});

我的问题是,当我尝试执行带有 cookie 的 GET 请求时,它说用户未经授权,这意味着 cookie 未正确传递,有人知道如何使用请求模块执行此操作吗?谢谢

最佳答案

几个小时后我找到了解决方案,而不是:

 //requesting data
request({
url: 'http://localhost/delivery-stats',
method: "GET",
header: {
'set-cookie': cookie
}

它必须是:

 //requesting data
request({
url: 'http://localhost/delivery-stats',
method: "GET",
header: {
'Cookie': cookie
}

因为这是通过请求发送 cookie 的正确方法,但它的文档很少,所以我花了一些时间才弄明白。希望这对将来的人有所帮助。

关于javascript - 如何使用 NodeJs 请求 GET 模块发送 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33347685/

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