标头检查错误

2023-11-30

当我尝试从下面运行代码时:

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)

我在代码中传递我自己的 gzipped url。

任何帮助都会非常有用。

Thanks


老问题(和request图书馆现已弃用),但迟到总比不到好:

有趣的是,有问题的代码确实适用于 Node.js 版本 15.13.0,但不适用于 14.16.0(保留request同样的,也是最新的2.88.2)。

但是,只需使用以下简单代码即可在 14.16.0 上运行(现场演示),但不在 15.13.0 上!:

request(url, function (error, response, body) {
  console.log(JSON.parse(body)); 
});

这意味着由于某种原因,在 14.16.0 上,响应正文会自动解压缩(因此上面的代码片段有效),而在 15.13.0 上,响应正文保持压缩状态,因此需要主动解压缩。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

标头检查错误 的相关文章

随机推荐

  • Android 中 Youtube 网站的 WebView 问题?

    我尝试在我的应用程序的网络视图中加载网址 ww youtube com 但无法完全加载 它加载如下图所示 在浏览器中它可以轻松加载 为什么 任何想法 图片http www freeimagehosting net uploads d7356
  • 在java中将国际字符串转换为\u代码

    如何将国际 例如俄语 字符串转换为 u数字 unicode 数字 e g u041e u041a for OK 有一个JDK工具通过命令行执行如下 native2ascii encoding utf8 src txt output txt
  • 如何在 Windows 上配置 Visual Studio Code for C++?

    我遇到配置问题启动 json我的 Windows 上的文件 它显示错误消息 调试适配器进程意外终止 I have set up MinGW and configured g compiler and now Visual Studio Co
  • 请求在 Postman 中重用

    我们的团队希望自动化 REST API 测试 现在 我们有一个 Postman 请求的集合 并让它们手动跳过 我们可以为每个测试场景创建一个集合 文件夹 但这意味着大量的重复 我们的 API 仍在大力开发中 我真的不想在更改后在 20 个地
  • 属性设置后的 Guice

    有人知道我如何在 Guice 中实现与 相同的功能属性设置后 春天的界面 它是施工后挂钩 到目前为止 如果您使用构造函数注入并且没有做任何太疯狂的事情 最简单的解决方案是创建一个构造后方法并用 Inject final class FooI
  • 为什么 python 模拟补丁不起作用?

    我有两个文件 spike py class T1 object def foo self afd return foo def get foo self return self foo 1 def bar return bar 测试尖峰 p
  • 如何删除MongoDB集合中的TTL?

    我将 mongoose 与 node js 一起使用 我正在测试生存时间功能 并将我的文档设置为在数据库模式中的 X 时间后过期 var adInfos new mongoose Schema inf type Object require
  • 帮助创建递归函数 C#

    我正在创建一个预测应用程序 它将对生产工厂能够运行的各种 模式 进行模拟 该工厂每天可以以一种模式运行 因此我正在编写一个函数 它将每天选择的不同模式相加 以最大程度地提高工厂的产量并与提供的销售预测数字保持最佳一致 该数据将被加载到模式对
  • “需要 TRUE/FALSE 时缺少值”R 中 if 语句中的错误[重复]

    这个问题在这里已经有答案了 我正在尝试计算并打印数据帧第二列和第三列中名为 DATA 的值的情况 但我有 需要 TRUE FALSE 时缺少值 错误 请问你能帮帮我吗 如何在 if 语句中写入条件而不出现此错误 我的代码 deneme lt
  • Docusign 签名 url - 显示复合模板的文档 1

    使用 docusign rest api 我想创建一个包含 2 个文档的信封 然后我将使用收件人帖子视图向第一个收件人 在 iframe 中 显示文档 1 签名后将同一信封中的文档 2 显示给其他收件人 我创建了具有不同 tempalteR
  • 使用 Javascript 检测按键组合系列

    在复活节假期 我想在我开发的网站上举办一个小惊喜 寻找复活节彩蛋 这五个中的两个复活节彩蛋我躲起来将被按键任命 这不会像 同时按下 CTRL 和 TAB 类型的操作 而是 向上按三次 然后向右按三次 类型的操作 这将寻找一系列按键 而不是一
  • Spring AOP:如何从方面中的 URI 模板读取路径变量值?

    我想创建 Spring 方面 它将由自定义注释注释的方法参数设置为由 URI 模板中的 id 标识的特定类的实例 路径变量名称是注释的参数 与 Spring 非常相似 PathVariable does 因此该控制器方法将如下所示 Rest
  • 在php中将数据库记录集检索到数组中

    我想从 MySQL 表中以数组形式检索一组记录 到目前为止 我能够将每一行作为关联数组检索 但我想要一个数组中的所有行 因为我必须访问 jQuery 中的完整对象才能显示它们 这是我到目前为止所做的 这是我用于检索数据的 php 脚本 se
  • const 这里有什么用[重复]

    这个问题在这里已经有答案了 in int salary const return mySalary 据我了解 const 是针对这个指针的 但我不确定 谁能告诉我 const 在这里有什么用 听起来你的想法是正确的 在 C 中 对象方法上的
  • 如何促进服务器上的 php 脚本与另一台服务器上正在运行的 Java 应用程序之间的通信?

    如何建立Java应用程序监听php发送的数据的方法 套接字还是 Http POST 本质上 我有在另一台服务器上运行的 Java 应用程序 等待在其他服务器上运行的 PHP 脚本发送的某些字符串数据 任何库建议或示例代码将不胜感激 我建议实
  • 是否可以设置 DT 数据表中默认选择的复选框?

    我想问是否可以在 DT 数据表中默认选择所有行的复选框 而不是取消选择 library DT library tidyverse dataTableOutput irisTable output irisTable lt renderDat
  • 如何在方法内部更改变量并在方法外部更改它

    我有一个变量 我想在函数内更改它并反映原始变量中的新更改 我试图将函数内部的原始变量值更改为 Scott 然后将新的更改反射到函数外部 public ActionResult HomePage string name John Change
  • 阻止 Visual Basic 6 更改我的大小写

    非常简单的问题 显然不可能找到一个像样的答案 如何让 Visual Basic 6 停止更改我的 ing 变量大小写 我知道很多 VB 用户的普遍看法是这个 功能 实际上非常有用 但我怀疑他们是否在任何源代码控制系统中大量使用它 当您尝试与
  • 如何像 Whatsapp 中那样对图像进行二次采样/调整大小

    通过whatsapp发送图像时 您可以在imageview中看到您发送的图像扩展得非常好 例如 我向我的朋友发送了两张图片 第一张图片的大小 1296像素 X 2304像素 第二张图片的大小 1920像素 X 1080像素 该图像太大 因此
  • 标头检查错误

    当我尝试从下面运行代码时 var express require express var app express var port process env PORT 5000 var request require request var