首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nodejs请求: HPE_INVALID_HEADER_TOKEN

Nodejs请求: HPE_INVALID_HEADER_TOKEN
EN

Stack Overflow用户
提问于 2016-04-14 16:08:23
回答 5查看 16.2K关注 0票数 14

我使用HPE_INVALID_HEADER_TOKEN模块在特定页面上接收request。据我在Google上所发现的,这是由一个不正确/格式错误的服务器响应引起的,而后者并不在我的控制范围之内。我是否可以将请求配置为忽略无效的标头,或者只为处理提供整个原始响应?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-04-15 19:23:25

解决方案是这个库:https://www.npmjs.com/package/http-parser-js

所以要解决你的问题:

  1. npm安装http-解析器-js
  2. 在请求之前添加此代码(“请求”) process.binding('http_parser').HTTPParser =需要量(‘http-解析器-js’).HTTPParser;
票数 8
EN

Stack Overflow用户

发布于 2019-06-11 12:34:22

Node v12有一个新的解析器,它对头验证更加严格,这可能导致同样的错误,特别是对于使用Imperva/In蒴a在HTTP1.1响应中包含无效报头的站点。

临时解决方案是在节点的命令行或NODE_OPTIONS环境变量中使用NODE_OPTIONS选项。

由于v12.15.0v10.19.0,您可以这样做:

代码语言:javascript
运行
复制
http.request(url, { insecureHTTPParser: true })

更多信息可以在这里找到:https://github.com/nodejs/node/issues/27711#issuecomment-584621376

编辑:在最近的版本中不再支持--http-parser=legacy (包括v12的次要版本)。更新节点版本的解决方案是使用--insecure-http-parser代替。

票数 25
EN

Stack Overflow用户

发布于 2019-08-13 06:04:59

我也有同样的问题,像这样运行代码对我来说是有效的。

nodemon --http-parser=legacy

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

https://stackoverflow.com/questions/36628420

复制
相关文章

相似问题

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