首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >http.get分析错误,代码:'HPE_UNEXPECTED_CONTENT_LENGTH‘

http.get分析错误,代码:'HPE_UNEXPECTED_CONTENT_LENGTH‘
EN

Stack Overflow用户
提问于 2016-02-20 16:15:32
回答 2查看 11K关注 0票数 5

我有一个简单的节点脚本来处理家庭自动化API中的一些数据。在上次更新之前一切都很顺利。现在,对于NodeVersion4.3.0或5.6.0,http模块给出了以下错误:

代码语言:javascript
代码运行次数:0
运行
复制
{ [Error: Parse Error] bytesParsed: 193, code: 'HPE_UNEXPECTED_CONTENT_LENGTH' }

一个导致错误的API调用示例,它只返回一个数字(一个温度):

代码语言:javascript
代码运行次数:0
运行
复制
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Length: 5
Content-Type: application/json
Transfer-Encoding: chunked

21.81

以及再现错误的代码:

代码语言:javascript
代码运行次数:0
运行
复制
const http = require("http");
const url = "http://127.0.0.1:8083/ZWaveAPI/Run/devices[11].instances[2].commandClasses[49].data[1].val.value";

http.get(url, (res) => {
    // consume response body
    res.resume();
}).on("error", (e) => {
    console.log(e);
});

我认为这个错误与CVE-2016-2216响应分裂漏洞有关,但是我试着运行上面提到的脚本--安全恢复=CVE-2016-2216标志,但没有帮助。有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-20 20:44:50

我找到了这个提交日志。问题似乎是Content-LengthTransfer-encoding: chunked头同时存在:

服务器同时发送内容长度标头和传输编码:块头,这违反了HTTP规范。

票数 6
EN

Stack Overflow用户

发布于 2019-07-12 06:59:14

正如前面的答案所述,这是按照HTTP标准进行节点设计。当我试图从运行在本地计算机上的角应用程序访问DEV服务器中的REST-API (一个内容配置调用)时,我遇到了这个问题。API没有添加这些标题、内容长度和传输编码。当应用程序也被部署到Dev服务器(在同一服务器中的REST和REST)时,这个问题得到了解决。

据我所知,如果两个标头都是在API中添加的,或者尝试在Server中部署应用程序,请删除两个标头。

这是关于这个问题的一个有用的链接- https://github.com/request/request/issues/2091

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35525715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档