我有一个简单的 NodeJS 应用程序,它通过远程 Java CMS 进行身份验证。成功验证后,CMS 会返回一个 cookie。
但是,对于我的生活,我无法弄清楚如何访问/获取这个 cookie 值。(一旦通过身份验证,我需要 cookie 才能向 CMS 的 API 发出请求)。
我在 curl 命令中返回了 cookie,但无法在 NodeJS 中访问它。卷曲命令:
curl -v -k --data "username=admin&password=password111&realm=cms101"
https://test.abeo.ie/gatekeeper/rs/authenticate/login
现在这是我的 NodeJS 应用程序的代码:
//disable self-signed ssl cert rejection
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
var http = require('http');
var request = require('request');
var Cookies = require('cookies');
//enable cookies
request.defaults({jar: true});
request({
url: 'https://test.abeo.ie/gatekeeper/rs/authenticate/login', //URL to hit
qs: {username: 'admin', password: 'password111', realm: 'cms101'}, //Query string data
method: 'POST', //Specify the method
headers: { //We can define headers too
'Content-Type': 'application/x-www-form-urlencoded'
}
},
function(error, response, body){
if(error) {
console.log(error);
} else {
//response.cookie comes out as 'undefined'
console.log(response.statusCode, body, response.cookie);
}
})
所以我的问题是:当 response.cookie 值打印为未定义时,如何从响应中读取 cookie 值。
谢谢,
麦克风
** 如果这个问题似乎含糊不清……就这么说吧,我会澄清的。