142

我试图GET使用二进制数据request,并且有类似的东西:

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

body总是与预期的几个字节不同。经过进一步调查,我发现request假设body是字符串并替换了所有非 unicode 字节。

我试图添加

encoding: 'binary'

requestSettings但它没有帮助。

如何获取二进制数据?

4

2 回答 2

316

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

encoding: null

然后body将是类型Buffer,而不是默认的字符串。

于 2013-02-13T13:46:19.900 回答
0

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

于 2020-04-16T19:21:22.847 回答