首页 > 解决方案 > 在 POST 正文中发送 recaptcha 密码而不是 URL 参数

问题描述

当我将值作为 URL 参数传递时,ReCaptcha 的服务器集成效果很好。

{
  "success": false,
  "error-codes": [
    "missing-input-response",
    "missing-input-secret"
  ]
}

当我在 POST 正文中将值作为 JSON 传递时,请求失败。

{
  "success": true,
  "challenge_ts": "2018-10-26T16:01:24Z",
  "hostname": "testkey.google.com"
}

到目前为止我看到的示例代码建议使用 URL 参数,但没有解释为什么不支持 JSON POST 正文。

谷歌的常见问题解答也没有列出,我想知道我是否做错了什么。甚至可以通过 JSON 请求吗?

标签: recaptcharecaptcha-v3

解决方案


Google 的 recaptcha api 不支持 json body。他们希望您将正文作为查询参数发送。

例如:

  • POST请求。
  • 正文:'秘密=xxxxxxxxxxxxxxxxx&response=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
  • 标题:“内容类型”:“应用程序/x-www-form-urlencoded”

推荐阅读