Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Gzip充气-节点压缩_Node.js_Gzip - Fatal编程技术网

Node.js Gzip充气-节点压缩

Node.js Gzip充气-节点压缩,node.js,gzip,Node.js,Gzip,我正试图从中提取一个gzip json文件 我已经安装了,如果我向Stack Overflow API发出请求,所有这些都可以正常工作,但是一旦我尝试请求discogs,就会出现错误 Assertion failed: (ret != Z_STREAM_ERROR), function GunzipInflate, file ../compress.cc, line 271. Abort trap: 6 代码: 有什么想法吗 更新: 似乎他们没有把它寄出去。这是我最终使用的 var o

我正试图从中提取一个gzip json文件

我已经安装了,如果我向Stack Overflow API发出请求,所有这些都可以正常工作,但是一旦我尝试请求discogs,就会出现错误

Assertion failed: (ret != Z_STREAM_ERROR), function GunzipInflate, file ../compress.cc, line 271.
Abort trap: 6
代码:

有什么想法吗

更新:

似乎他们没有把它寄出去。这是我最终使用的

    var options = {
        host: 'api.discogs.com',
        port: 80,
        path: '/release/339901',
        headers: {
            "Accept-Encoding": "gzip"
        }
    };

    http.get(options, function(getRes){
        var body = "";

        getRes.on('data', function(chunk){
            body = body + chunk;
        });

        getRes.on('end', function(err, data){
            res.end(body);
        });
    });

似乎api.discogs.com没有返回gzip编码的响应

您应该首先检查内容编码标题:

if (res.headers['content-encoding'] === 'gzip') { ... }
请求gzip编码的响应(“接受编码”:“gzip”)并不能保证这一点

您可以通过以下方式进行验证:

console.log(JSON.stringify(res.headers));

res.on('data', function(chunk){
    console.log(chunk.toString());
});

似乎api.discogs.com没有返回gzip编码的响应

您应该首先检查内容编码标题:

if (res.headers['content-encoding'] === 'gzip') { ... }
请求gzip编码的响应(“接受编码”:“gzip”)并不能保证这一点

您可以通过以下方式进行验证:

console.log(JSON.stringify(res.headers));

res.on('data', function(chunk){
    console.log(chunk.toString());
});

是的,看起来这就是问题所在。奇怪的是,如果您使用“Accept Encoding”:“gzip”进行请求,他们只会发送响应,但不会发送gzip。我已经更新了我最终使用的内容。谢谢。是的,看起来这就是问题所在。奇怪的是,如果您使用“Accept Encoding”:“gzip”进行请求,他们只会发送响应,但不会发送gzip。我已经更新了我最终使用的内容。谢谢