89
使用request
我试图GET
二进制数据获取在Node.js的二进制内容,并有这样的事情:使用要求
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
,但它并没有帮助。
如何获取二进制数据?
工作完美,谢谢。但是这对于请求模块来说是完全不直观的。 – 2014-01-30 01:10:39
这真是一个荒谬的噩梦。花了我12个小时来追捕这件事。看起来,Node Request模块默认将响应内容中的传入数据视为UTF-8,并自动将任何非UTF-8字节序列转换为垃圾(但是有效的UTF-8)字符。没有任何设置'mimetype'等等工作(不是它应该用于* response *数据)。'encoding:null'是唯一可用的选项。 - 记录非常糟糕。应该有一个明显的警告在节点请求文档关于如何检索纯二进制数据。谢谢! – 2015-06-22 18:12:25
@DanNissenbaum同样的经验在这里!只是不可思议的 – Novellizator 2015-07-23 15:37:29