我使用HPE_INVALID_HEADER_TOKEN
模块在特定页面上接收request
。据我在Google上所发现的,这是由一个不正确/格式错误的服务器响应引起的,而后者并不在我的控制范围之内。我是否可以将请求配置为忽略无效的标头,或者只为处理提供整个原始响应?
发布于 2016-04-15 19:23:25
解决方案是这个库:https://www.npmjs.com/package/http-parser-js
所以要解决你的问题:
发布于 2019-06-11 12:34:22
Node v12有一个新的解析器,它对头验证更加严格,这可能导致同样的错误,特别是对于使用Imperva/In蒴a在HTTP1.1响应中包含无效报头的站点。
临时解决方案是在节点的命令行或NODE_OPTIONS
环境变量中使用NODE_OPTIONS
选项。
由于v12.15.0
和v10.19.0
,您可以这样做:
http.request(url, { insecureHTTPParser: true })
更多信息可以在这里找到:https://github.com/nodejs/node/issues/27711#issuecomment-584621376
编辑:在最近的版本中不再支持--http-parser=legacy
(包括v12的次要版本)。更新节点版本的解决方案是使用--insecure-http-parser
代替。
发布于 2019-08-13 06:04:59
我也有同样的问题,像这样运行代码对我来说是有效的。
nodemon --http-parser=legacy
https://stackoverflow.com/questions/36628420
复制相似问题