gpt4 book ai didi

node.js - 使用 http.request 在 node.js 中获取二进制内容

转载 作者:IT老高 更新时间:2023-10-28 21:56:55 28 4
gpt4 key购买 nike

我想从 https 请求中检索二进制数据。

我发现了一个类似的问题,使用了请求方法, Getting binary content in Node.js using request , 是说将 encoding 设置为 null 应该可以工作,但它没有。

options = {
hostname: urloptions.hostname,
path: urloptions.path,
method: 'GET',
rejectUnauthorized: false,
encoding: null
};

req = https.request(options, function(res) {
var data;
data = "";
res.on('data', function(chunk) {
return data += chunk;
});
res.on('end', function() {
return loadFile(data);
});
res.on('error', function(err) {
console.log("Error during HTTP request");
console.log(err.message);
});
})

编辑:将编码设置为 'binary' 也不起作用

最佳答案

接受的答案对我不起作用(即,将编码设置为二进制),即使是提出问题的用户也提到它不起作用。

以下是对我有用的方法,取自:http://chad.pantherdev.com/node-js-binary-http-streams/

http.get(url.parse('http://myserver.com:9999/package'), function(res) {
var data = [];

res.on('data', function(chunk) {
data.push(chunk);
}).on('end', function() {
//at this point data is an array of Buffers
//so Buffer.concat() can make us a new Buffer
//of all of them together
var buffer = Buffer.concat(data);
console.log(buffer.toString('base64'));
});
});

编辑:根据分号的建议更新答案

关于node.js - 使用 http.request 在 node.js 中获取二进制内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17836438/

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