【发布时间】:2018-10-31 04:47:39
【问题描述】:
在这个例子的下面,在变量'obj'中我得到了响应体。如何使用此 https node.js 库获取响应的标头值?
var options = {
hostname: hostname,
port: port,
path: pathMethod,
method: method,
headers: {
'Content-Type': APPLICATION_JSON,
'Authorization': BEARER + localStorage.jwtToken
},
rejectUnauthorized: false,
agent: false,
requestCert: false
};
return new Promise(function(resolve, reject) {
var req = https.request(options, function(res) {
res.setEncoding(ENCODING_UTF8);
res.on('data', function(result) {
try {
const obj = JSON.parse(result);
resolve({ 'httpStatus': PAGE_STATUS_200, 'result': obj });
}
catch(error) {
console.error(error);
resolve(resolve({ 'httpStatus': PAGE_STATUS_500 }));
}
});
res.on('end', () => {
console.log('No more data in response.');
});
});
req.on('error', function(err) {
console.log(`problem with request: ${err.message}`);
reject(err);
});
if (postData) {
req.write(postData);
}
req.end();
});
在我的浏览器中,我得到了所有必要的标题。我无法使用 https node.js lib 获取标头可能是什么问题?
【问题讨论】:
-
res.headers将包含响应标头。 -
我已经尝试过您的解决方案,但与我看到 15 个参数(包括 JWT 令牌)的 Chrome 浏览器相比,只得到了 4 个参数。还尝试使用 Postman 请求并在响应标头中获得相同的 11 个参数。但我需要获取一个使用 https node.js lib 无法获取的适当参数(JWT 令牌)。
-
大家好。这是这个问题的答案。 github.com/infinitered/apisauce/issues/110 和stackoverflow.com/questions/37897523/… 简而言之,问题出在 Spring Boot 2 的后端。
标签: javascript node.js https http-headers response