You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js Express API Promise链(含Request-Promise)报ERR_INVALID_HTTP_TOKEN错误求助

搞定RequestError: ERR_INVALID_HTTP_TOKEN 错误

Hey,我帮你拆解下这个错误的根源和修复方案:

首先看你抛出的错误信息:TypeError [ERR_INVALID_HTTP_TOKEN]: Header name must be a valid HTTP token ["key"],这个错误直接指向HTTP请求头的键名不符合规范,再结合你的代码细节,我发现几个需要修正的点:

1. 请求配置里的JSON冲突问题

在Controller.js的请求配置里,你犯了一个request-promise的常见误用:

var options = {
  method: 'POST',
  uri: 'url',
  headers: {
    'key':'value',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(body),
  json:true
}

当你设置json: true时,request-promise会自动帮你完成两件事:

  • 把body里的对象自动序列化为JSON字符串
  • 自动添加Content-Type: application/json请求头

所以你手动调用JSON.stringify(body)完全是多余的,反而可能导致格式异常;同时手动设置Content-Type也没必要,甚至可能引发冲突。

2. 请求头键名的合法性问题

错误提示里的["key"]说明你的请求头里有一个叫key的键?不对,HTTP自定义请求头的键名必须符合规范:只能包含字母、数字、连字符、下划线、点号,绝对不能有空格或特殊字符。如果你的实际代码里这个键名不是key,而是比如API Key(带空格)这种,那肯定会触发这个错误。

建议自定义头用X-前缀的命名方式,比如X-API-Key,这是行业通用的规范,也不会触发合法性校验问题。

修正后的完整代码片段

Controller.js 修正部分

.then( body => {
  // 向API发送包含格式化数据的独立请求
  var options = {
    method: 'POST',
    uri: '你的第三方API实际地址', // 替换成真实URL
    headers: {
      'X-API-Key': '你的真实密钥值', // 确保键名符合HTTP规范
      // 不需要手动设置Content-Type,json:true会自动处理
    },
    body: body, // 直接传格式化后的对象,json:true会自动序列化
    json: true
  }
  // 这里要调用你的requestutility函数发送请求!之前的代码漏了这一步
  return requestutility(options);
})
.then( apiResponse => {
  // 返回API调用结果给前端
  res.status(200).json({ success: true, data: apiResponse });
})
.catch( error => {
  // 错误处理
  console.error('请求第三方API失败:', error);
  res.status(500).json({ success: false, error: error.message });
})

额外的小漏洞修复

  • 你之前的代码里构建完options后直接return options,但没有调用requestutility函数发送请求,这会导致后续的then拿到的是配置对象,不是API响应,这是逻辑漏洞。
  • 记得在RetrieveData函数里处理SQL查询的错误,比如查询失败时调用reject(error),不然错误会被悄悄吞掉,很难排查。

验证步骤

  1. 检查所有请求头的键名,确保没有空格或特殊字符,用X-前缀的命名更稳妥
  2. 删掉手动的JSON.stringify(body)和手动设置的Content-Type,让json:true自动处理
  3. 确保调用requestutility(options)来实际发送请求

按照上面的修正,你的错误应该能直接解决,整个流程也能正常跑通啦。

内容的提问来源于stack exchange,提问作者Neo Owens

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 12:12:29