[英]Json http.get nodejs gives wrong data
美好的一天,我正在尝试使用http.get获取json文件
http.get("http://steamcommunity.com/profiles/76561197993482001"+ "/inventory/json/730/2",function(res){ var chunk2=''; res.on('data',function(chunk){ chunk2+=chunk; }); res.on('end',function(){ console.log(chunk2); }); });
但是在我的控制台中,只有以下5个奇怪的字符: (以及其中一些带有数字的正方形)
到底是怎么回事? 谢谢
编辑我尝试添加res.setEncoding('utf8'); 但它不起作用
有问题的URL返回302(重定向)状态代码,因此您应检查res.statusCode
并使用响应中提供的Location
标头(指向实际位置)重新发出请求。 或者,您可以使用request
模块,该模块将为您处理重定向。
至于您得到的数据:服务器确实返回了302响应的内容主体,并且该内容由一个26字节的gzip压缩文档组成,该文档似乎不包含任何内容:
$ curl --silent --no-location 'http://steamcommunity.com/profiles/76561197993482001/inventory/json/730/2' | gunzip | wc -c
0
由于Node将响应解释为UTF-8(不是),因此您会得到那些奇怪的字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.