我使用HPE_INVALID_HEADER_TOKEN
模块在某个页面上收到request
。根据我在Google上发现的情况,这是由服务器响应错误/格式错误引起的,但后者不在我的控制范围内。我可以配置请求忽略无效的标题,还是只给我整个原始响应进行处理?
答案 0 :(得分:4)
解决方案就是这个库:https://www.npmjs.com/package/http-parser-js
所以要解决你的问题:
npm install http-parser-js
在require(' request')
之前添加此代码process.binding('http_parser').HTTPParser = require('http-parser-js').HTTPParser;
答案 1 :(得分:2)
我遇到了同样的问题,运行这样的代码对我来说nodemon --http-parser=legacy
答案 2 :(得分:1)
Node v12具有一个新的解析器,该解析器的标头验证更加严格,可能导致相同的错误,尤其是在使用Imperva / Incapsula的网站在HTTP 1.1响应中包含无效标头的情况下。
一种临时解决方案是在节点的命令行或环境变量--http-parser=legacy
中使用NODE_OPTIONS
选项。
答案 3 :(得分:0)