15

我的网站正在使用 Google reCAPTCHA 控制,但我听说它在中国被阻止,无论如何我看到有人报告说将 API 更改为https://www.recaptcha.net在中国有效?

任何人都尝试这个,因为我看到它仍然会出现在谷歌上?

string apiUrl = "https://www.recaptcha.net/recaptcha/api/siteverify?secret={0}&response={1}";

在此处输入图像描述

4

3 回答 3

16

正如谷歌在他的帮助页面中所说,您应该在 api 调用中使用此域“www.recaptcha.net”而不是“www.google.com”。

  • 首先,将 src="https://www.google.com/recaptcha/api.js" 替换为 src="https://www.recaptcha.net/recaptcha/api.js"
  • 之后,将相同的方法应用于您网站上使用“www.google.com/recaptcha/”的其他任何地方。

获取自:https ://developers.google.com/recaptcha/docs/faq#can-i-use-recaptcha-globally

编辑:澄清一些评论,如果你在中国以外尝试,是的,你确实会得到参考,gstatic.com但如果你在中国尝试,任何参考gstatic.com都被替换为gstatic.cn(不要忘记将它添加到你的 SCP) . 所以这个解决方案仍然有效。

于 2019-09-09T14:16:27.163 回答
2

恕我直言,谷歌的东西在中国不稳定,因为它可以随时被阻止。从百度线程中,它还提到有时 google recaptcha 有效,有时无效。 https://www.v2ex.com/t/492752(中文)

在编程世界中,不稳定的函数意味着处理异常的无用或更多代码。

如果你真的需要使用google recaptcha,你最好先使用VPN(中国IP)正确测试。

以下是您可以考虑的一些选项,

  1. 您可以使用替代验证码

    谷歌会告诉你各种验证码。

  2. 建立自己的验证码

开源隐形 reCAPTCHA 替代品

  1. 使用代理网络服务器(nginx)向谷歌recaptcha发送和接收数据
于 2019-09-15T04:55:46.510 回答
1

我已经使用 cURL 分享了这个问题的解决方案。

https://stackoverflow.com/a/63568516/11910869

cURL充当客户端和服务器之间的中间人。所以即使google.com/recaptcha被服务提供者阻止而无法被客户端访问,cURL 也可以充当代理发送HTTP 请求并获得响应

于 2020-08-24T20:56:23.460 回答