使用请求获取 Node.js中的二进制内容

我试图使用请求来获取二进制数据,并且有类似的东西:GET

var requestSettings = {
    method: 'GET',
    url: url,
};
request(requestSettings, function(error, response, body) {
    // Use body as a binary Buffer
}

但总是与预期相差几个字节。经过进一步调查,我发现假设是字符串并替换了所有非Unicode字节。bodyrequestbody

我试图添加

encoding: 'binary'

但它没有帮助。requestSettings

如何获取二进制数据?


答案 1

好吧,经过大量的挖掘,我发现应该有:requestSettings

encoding: null

然后将是 类型 ,而不是默认值,即字符串。bodyBuffer


答案 2

接受的答案并没有解决我的问题。不知何故,我认为这有效。gzip: true