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

我正在尝试使用request GET二进制数据,并且有如下所示的内容:

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

但是body总是与预期不同的几个字节。 经过进一步的调查,我发现request假定body是string,并取代所有非Unicode字节。

我试图添加

 encoding: 'binary' 

请求设置,但它没有帮助。

我怎样才能得到二进制数据?

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

 encoding: null 

然后body将是Buffertypes,而不是默认的,这是string。