gpt4 book ai didi

javascript - 如何获取 Node.js 响应头和状态码?

转载 作者:搜寻专家 更新时间:2023-10-31 23:50:24 25 4
gpt4 key购买 nike

我没有很多 Node.js 经验,但 http/https 文档似乎很糟糕,我不知道如何获取通用响应 header :

  • 缓存控制
  • 语用
  • 过期
  • 内容类型
  • 内容长度
  • 日期
  • 连接
  • 设置 Cookie
  • 严格的运输安全

根据下面的代码,我如何确定 statusCode 和响应 header ?

const promiseResponse = new Promise((resolve, reject) => {
const fullResponse = {
status: '',
body: '',
headers: ''
};

const request = https.request({
hostname: testHostname,
path: testPath,
method: testMethod,
headers: {
'x-jwt': jwt,
'content-type': contentType,
}
});

request.on('error', reject);
request.on('response', response => {
response.setEncoding('utf8');
response.on('data', chunk => { fullResponse.body += chunk; });
response.on('end', () => {
fullResponse.body = JSON.parse(fullResponse.body);
resolve(fullResponse);
});
});

request.write(JSON.stringify(testBody));
request.end();
});

promiseResponse.then(
response => {
console.log('success:', response);
},
error => {
console.error('error:', error);
}
);

最佳答案

在您的代码中:

request.on('response', response => { ... });

你得到一个响应对象。该对象是 http.IncomingMessage 的一个实例可以访问 response.statusCoderesponse.headers像这样:

request.on('response', response => {
console.log(response.statusCode);
console.log(response.headers);
response.on('data', chunk => { fullResponse.body += chunk; });
});

很多人(包括我自己)找到了更高的层次requestrequest-promise模块要多得多,更容易使用。它们建立在 http.requesthttps.request 之上,但为您提供了更易于使用的界面。

关于javascript - 如何获取 Node.js 响应头和状态码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53198263/

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