node.js - 使用节点核心 http 并查看响应。响应json在哪里?
问题描述
通过在 Node.js 中运行此代码,我得到了 201 statusCode。我不确定如何查看我在 Postman 中看到的响应正文。响应对象如此之大,势不可挡,经过多次搜索,我只是不知道发生了什么。如何查看响应正文 json?看看下面的邮递员图片,我所说的就是这个响应。res.body, res.json() 不存在。
const options = {
method: 'POST',
headers,
hostname: uploadHostName,
path: `/${uploadPath}`,
};
const req = https.request(options, res => {
res.on('data', data => console.error({data}));
res.on('error', error => console.error({error}));
res.on('end', () => {
const { statusCode, statusMessage } = res;
console.log({ statusCode, statusMessage });
});
});
const imageStream = fs.createReadStream(imageFile);
imageStream.pipe(req);
imageStream.on('end', () => {
console.log("READ_STREAM_END")
req.end();
});
解决方案
const req = https.request(options, res => {
let chunks = [];
res.on('data', data => chunks.push(data));
res.on('error', error => console.error({error}));
res.on('end', () => {
const { statusCode, statusMessage, body } = res;
// console.log(Object.keys(res.client))
console.log({ statusCode, statusMessage, body });
console.log(Buffer.concat(chunks).toString());
});
});
我没有意识到这些块是什么。出于某种原因,我认为这些数据是上传的文件。我也对此感到困惑 - 为什么它将上传数据发送到 res ?然后,在短暂的休息后,我突然意识到了这一点。res.on('data') 可能是我需要的 json!
推荐阅读
- apache-kafka - 在 SessionWindows 启动和结束时向 Kafka 发送消息
- react-router-v4 - 对于多个可选参数,React 路由器在 // 之后忽略 URL
- android - 与 Kotlin 中的泛型类型配对
- java - Spring Boot 未验证实体上的嵌入式对象
- angular - 如何在 angular apollo 客户端中停止轮询?
- asp.net - 将多个 301 重定向合并为一个用于 ASP.NET URL 重写模块
- typescript - VSCode Typescript Intellisense 在最简单的项目设置中不起作用
- javascript - CKEDITOR 使用 DecoupledEditor 看不到内容区域
- c++ - clang++ 编译时输出信息错误
- python - 如何让正则表达式在 B 的最大匹配次数后停止搜索 A