Nodejs - request.get(url)返回二进制数据在yahoo.com的情况下
nodejs - request.get(url) returning binary data in case of yahoo.com
我正在尝试运行以下javascript代码。
request = require('request')
request.get('https://www.yahoo.com',function(err,res,body){ console.log(err ? err.message : body) })
但是它正在记录二进制数据,而html
字符串是预期的。
如果我用不同的url(如https://www.google.com
)替换第一个参数,则相同的代码返回html
响应。
我在ruby中尝试了相同的代码
require('open-uri')
puts open('https://www.yahoo.com').read
在两种情况下都返回正确的html响应。
我想我在使用nodejs的request
包时错过了一些东西。
您只看到gzip编码的html字符串。使用gzip
选项(docs)获取解压后的正文。
request.get({url: 'https://www.yahoo.com', gzip: true}, function(err,res,body){ console.log(err ? err.message : body) })
相关文章:
- 用程序搜索JQuery数据表中的文本
- 要求输入在数据列表中
- 正在将数据主题添加到所有项目
- 函数参数中的数据与指定变量之间的任何性能差异
- 在VanillaJS中模拟模型双向数据绑定
- CSS-如何定位内容数据标题
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 序列化数据属性中对象的最可靠方法
- 如何将JSON数据导入我的ejs模板
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 画布数据到图像
- 使用jquery将mysql数据获取到新的表行中
- 使用html中的外部javascript进行数据验证
- 如何使用jquery解析具有相同标签名称的yahoo天气api数据
- 通过Yahoo API YQL- Javascript获取JSONP数据
- Yahoo api 从公共数据 JavaScript 切换到 oAuth
- Nodejs - request.get(url)返回二进制数据在yahoo.com的情况下
- yahoo.finance. exchange历史数据