ReCaptcha - 无法打开套接字

4

在我提出这个问题之前,让我提一下我知道网站上有几个完全相同的问题,但我担心它们不能帮助我。

你好,

昨天我的ReCaptcha正常工作,但现在不行了。我正在使用Google提供的库并使用正确的代码。自从昨天以来,我没有更改任何代码,所以它应该仍然有效。然而,当我尝试提交表单时,页面返回无法打开套接字

编辑: 我刚刚检查了,fsockopen在我的服务器上是启用的。

3个回答

12
我遇到了同样的问题,但我在谷歌上搜索的所有替代主机名都不起作用。 一个非常好的建议帮助了我,来自于Recaptcha谷歌团队。 使用方法:
define("RECAPTCHA_VERIFY_SERVER", gethostbyname("www.google.com"))

对我来说运行得很好。


9

以下内容已更改:

define("RECAPTCHA_VERIFY_SERVER", "www.google.com");

to

define("RECAPTCHA_VERIFY_SERVER", "74.125.227.48");

现在它能够工作了。需要在验证码 lib php 文件 recaptchalib.php 中进行编辑。

这并没有给出问题的答案。如果想对作者进行批评或请求澄清,请在他们的帖子下留言。 - Cole Tobin
4
如果您没有注意到,我就是这篇帖子的作者,并且回复了自己的帖子。 - Ridz
1
我已经替换了,但什么也没发生,同样的错误出现了“无法打开套接字”。 我尝试了以下方法:define("RECAPTCHA_VERIFY_SERVER", "www.google.com"); define("RECAPTCHA_VERIFY_SERVER", "74.125.227.48"); define("RECAPTCHA_VERIFY_SERVER", gethostbyname("www.google.com")); define("RECAPTCHA_VERIFY_SERVER", "api-verify.recaptcha.net"); define("RECAPTCHA_VERIFY_SERVER", "128.2.186.116"); define("RECAPTCHA_VERIFY_SERVER", gethostbyname("www.google.com")); - Hiren Kubavat
可以正常运行了!谢谢! - narcolepticvolcano
1
现在它能用了,但我想知道谷歌会多久改变他们的 IP 地址.. 它应该能用一段时间,但对我来说似乎只是一个临时解决方案。不管怎样,感谢你的建议 ;) - Lukas Liesis
@HirenKubavat 尝试只定义一次,注释掉其他的。 - Pascal

2

打开命令提示符并输入:ping www.google.com

Google服务器的回复:来自 xxx.xxx.xx.xxx 的回复... 获取IP地址

编辑recaptchalib.php文件

找到以下代码行

define("RECAPTCHA_VERIFY_SERVER", "www.google.com");

将"www.google.com"替换为Google的IP地址

define("RECAPTCHA_VERIFY_SERVER", xxx.xxx.xxx.xxx);


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接