Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Nodejs请求:HPE\u无效\u头\u令牌_Node.js_Http_Request - Fatal编程技术网

Node.js Nodejs请求:HPE\u无效\u头\u令牌

Node.js Nodejs请求:HPE\u无效\u头\u令牌,node.js,http,request,Node.js,Http,Request,我使用request模块在特定页面上接收HPE\u无效\u头\u令牌。从我在谷歌上发现的情况来看,这是由错误/格式错误的服务器响应引起的,但后者不在我的控制之下。我可以将请求配置为忽略无效的头,还是只给我整个原始响应进行处理?解决方案是使用以下库: 因此,要解决您的问题: npm安装http解析器js 在require('request')之前添加此代码 节点v12有一个新的解析器,它对头验证更严格,这可能会导致相同的错误,特别是对于使用Imperva/Incapsula的站点,这些站点在HT

我使用
request
模块在特定页面上接收
HPE\u无效\u头\u令牌。从我在谷歌上发现的情况来看,这是由错误/格式错误的服务器响应引起的,但后者不在我的控制之下。我可以将请求配置为忽略无效的头,还是只给我整个原始响应进行处理?

解决方案是使用以下库:

因此,要解决您的问题:

  • npm安装http解析器js

  • 在require('request')之前添加此代码


  • 节点v12有一个新的解析器,它对头验证更严格,这可能会导致相同的错误,特别是对于使用Imperva/Incapsula的站点,这些站点在HTTP 1.1响应中包含无效头

    临时解决方案是在节点的命令行或环境变量中使用
    --http parser=legacy
    选项

    由于
    v12.15.0
    v10.19.0
    可以执行以下操作:

    http.request(url, { insecureHTTPParser: true })
    
    更多信息可在此处找到:


    编辑
    --http parser=legacy
    在最新版本(包括v12的次要版本)中不再受支持。较新节点版本的解决方案是使用不安全的http解析器。

    我也遇到了同样的问题,像这样运行代码对我很有效
    nodemon--http parser=legacy

    通过在原始模式下检查Chrome开发工具中的头,我能够找到问题所在(哪个头导致了这个问题)


    事实证明,我的“内容类型:”没有类型。

    是的,谢谢,事实上我已经找到了它,它为我解决了问题)遗憾的是,它没有为我解决问题-我最终编写并调用了一个单独的脚本,它卷曲了我需要的数据。恼人的是,仅仅因为Node对Headers很挑剔,就不得不这样解决这个问题。这个答案似乎不再有效了。节点v12引入了一个新的
    llhttp
    解析器
    http.request(url, { insecureHTTPParser: true })