nodejs - request.get(url)在yahoo.com的情况下返回二进制数据

时间:2016-09-04 14:52:09

标签: javascript html node.js http encoding

我正在尝试运行以下javascript代码。

ret

但是它记录了二进制数据,而result = (( (df3.Weight * ret).sum(axis=1)**2 * decFac.decFac ).sum())**.5 字符串是预期的。

如果我用不同的网址request = require('request') request.get('https://www.yahoo.com',function(err,res,body){ console.log(err ? err.message : body) }) 替换第一个参数,则相同的代码会返回html响应。

我在ruby中尝试了以下代码

html

在两种情况下都会返回正确的html响应。

我认为在使用https://www.google.com nodejs包时我遗漏了一些东西。

1 个答案:

答案 0 :(得分:1)

你只看到gzip编码的html字符串。使用gzip选项(docs)获取解压缩的正文。

request.get({url: 'https://www.yahoo.com', gzip: true}, function(err,res,body){ console.log(err ? err.message : body) })