为什么postman发送二进制流文件的时候正文长度都是一样的,不管数据多大或者多小。但是自己发的时候是需要计算正确长度才能成功的。

为什么postman发送二进制流文件的时候正文长度都是一样的,不管数据多大或者多小。但是自己发的时候是需要计算正确长度才能成功的。

该回答引用自GPT-3.5,由博主GISer Liu编写:
这个问题涉及到在使用 Postman 发送二进制流文件时,观察到正文长度一致的情况,而手动发送时需要正确计算长度。这可能是由于 Postman
自动计算了内容长度,而手动发送时需要手动设置这个长度。接下来我将详细解释这个问题并提供解决方案。
Content-Length 字段。这样可以确保服务器能够正确处理请求。const http = require('http');
const postData = 'This is some binary data.';
const options = {
hostname: 'www.example.com',
port: 80,
path: '/upload',
method: 'POST',
headers: {
'Content-Type': 'application/octet-stream',
'Content-Length': Buffer.byteLength(postData) // 设置内容长度
}
};
const req = http.request(options, (res) => {
console.log(`状态码: ${res.statusCode}`);
// 其他处理逻辑
});
req.on('error', (e) => {
console.error(`请求遇到问题: ${e.message}`);
});
// 写入数据到请求主体
req.write(postData);
req.end();
如果该回答解决了您的问题,请采纳!如果没有,请私信联系或评论您的疑惑