我的网站正在使用 Google reCAPTCHA 控制,但我听说它在中国被阻止,无论如何我看到有人报告说将 API 更改为https://www.recaptcha.net在中国有效?
任何人都尝试这个,因为我看到它仍然会出现在谷歌上?
string apiUrl = "https://www.recaptcha.net/recaptcha/api/siteverify?secret={0}&response={1}";
我的网站正在使用 Google reCAPTCHA 控制,但我听说它在中国被阻止,无论如何我看到有人报告说将 API 更改为https://www.recaptcha.net在中国有效?
任何人都尝试这个,因为我看到它仍然会出现在谷歌上?
string apiUrl = "https://www.recaptcha.net/recaptcha/api/siteverify?secret={0}&response={1}";
正如谷歌在他的帮助页面中所说,您应该在 api 调用中使用此域“www.recaptcha.net”而不是“www.google.com”。
获取自:https ://developers.google.com/recaptcha/docs/faq#can-i-use-recaptcha-globally
编辑:澄清一些评论,如果你在中国以外尝试,是的,你确实会得到参考,gstatic.com
但如果你在中国尝试,任何参考gstatic.com
都被替换为gstatic.cn
(不要忘记将它添加到你的 SCP) . 所以这个解决方案仍然有效。
恕我直言,谷歌的东西在中国不稳定,因为它可以随时被阻止。从百度线程中,它还提到有时 google recaptcha 有效,有时无效。 https://www.v2ex.com/t/492752(中文)
在编程世界中,不稳定的函数意味着处理异常的无用或更多代码。
如果你真的需要使用google recaptcha,你最好先使用VPN(中国IP)正确测试。
以下是您可以考虑的一些选项,
您可以使用替代验证码
谷歌会告诉你各种验证码。
建立自己的验证码
我已经使用 cURL 分享了这个问题的解决方案。
https://stackoverflow.com/a/63568516/11910869
cURL充当客户端和服务器之间的中间人。所以即使google.com/recaptcha被服务提供者阻止而无法被客户端访问,cURL 也可以充当代理发送HTTP 请求并获得响应。