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

Google reCaptcha验证失败:返回无效响应,请求排查方案

reCaptcha验证失败问题解决

问题根源很明确:Google的siteverify接口只接受application/x-www-form-urlencoded编码的请求体,而你的axios请求默认发送的是JSON格式数据,导致接口无法正确解析参数。

修复方案

方案1:用URLSearchParams构造表单数据

const postData = new URLSearchParams({
  secret: process.env.RECAPTCHA_LEGACY_IOS,
  response: token
});

const data = await axios.post('https://www.google.com/recaptcha/api/siteverify', postData);

方案2:手动设置请求头并转换数据格式

const post_data = {
  secret: process.env.RECAPTCHA_LEGACY_IOS,
  response: token
};

const data = await axios.post(
  'https://www.google.com/recaptcha/api/siteverify',
  new URLSearchParams(Object.entries(post_data)).toString(),
  {
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  }
);

额外检查项

  • 确认process.env.RECAPTCHA_LEGACY_IOS正确加载了reCaptcha密钥,无拼写错误或为空值
  • 确认前端传过来的token是有效未过期的reCaptcha响应令牌
  • URL末尾无需加多余的?,接口会自动忽略无效的查询参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 01:55:19