在服务器上,我这样做:
var result = HTTP.get("https://spoticle001.s3-eu-west-1.amazonaws.com/2NtoSkvYZeeetrf3k-0_thumb");
console.log("content length:", result.content.length);
我看到11781.标题"内容长度"但是,字段表示12047,这确实是此URL处文件的实际大小。
在客户端上,相同的请求会产生另一个内容长度:11618。
这似乎是HTTP.get最简单的用例。为什么这么奇怪的结果?
答案 0 :(得分:0)
那是因为HTTP
正在使用npm
的{{1}}模块发出请求,默认情况下,响应编码设置为request
:
utf8
- 用于encoding
响应数据的编码。如果setEncoding
,则null
将作为body
返回。其他任何内容(包括默认值Buffer
)将作为编码参数传递给undefined
(默认情况下这有效toString()
)。 (注意:如果您需要二进制数据,则应设置utf8
。)
你可以这样做:
encoding: null
测试:
var result = HTTP.get("...", {
npmRequestOptions: { encoding: null }
});
有用信息:request
options。