【发布时间】:2013-03-06 16:17:28
【问题描述】:
当我尝试从下面运行代码时:
var express = require('express');
var app = express();
var port = process.env.PORT || 5000;
var request = require('request');
var zlib = require('zlib');
app.listen(port, function() {
console.log("Listening on " + port);
makeRequest();
});
function makeRequest(){
var url = 'https://api.stackexchange.com/2.1/search?pagesize=5&order=desc&sort=activity&intitle=ios development&site=stackoverflow';
var headers = {'Accept-Encoding': 'gzip'};
var response = request(url, headers);
gunzipJSON(response);
}
function gunzipJSON(response){
var gunzip = zlib.createGunzip();
var json = "";
gunzip.on('data', function(data){
json += data.toString();
});
gunzip.on('end', function(){
parseJSON(json);
});
response.pipe(gunzip);
}
function parseJSON(json){
var json = JSON.parse(json);
if(json.items.length){
for(var i in json.items){
console.log(json.items[i].title + '\n' + json.items[i].link);
}
}
}
我收到错误提示
错误:标头检查不正确 在 Zlib._binding.onerror (zlib.js:286:17)
我在代码中传递了我自己的压缩 url。
任何帮助都会非常有用。
谢谢
【问题讨论】:
-
欢迎来到 Stack Overflow!永远记住在问题本身中包含代码,而不仅仅是链接到它:)。
-
你的 process.versions 输出什么
-
{ http_parser: '1.0', node: '0.8.19', v8: '3.11.10.25', ares: '1.7.5-DEV', uv: '0.8', zlib: ' 1.2.3',openssl:'1.0.0f' }
-
这个问题解决了吗?我在尝试解压缩响应正文时遇到了类似的问题。
-
@mikeym,我认为现在是:)
标签: node.js http request gzip zlib