PHP和Google的reCaptcha v2-每次都为空,

时间:2019-03-03 17:35:31

标签: php recaptcha

我们有一个使用reCaptcha v2的contact.html表单,其后端处理在一个php文件中。

我已采取足够的步骤来理解,当我们将验证发送到Google的api时,响应返回为空。下面是给我这个证明的代码。

$url = 'https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST["g-recaptcha-response"].'&remoteip='.$_SERVER['REMOTE_ADDR'];
    $verify = file_get_contents($url);
    echo $url;
    if (empty($verify)) echo 'Failed to fetch data';`

但是,当我在浏览器中手动输入url时,会返回一个表示成功的JSON响应。

那么,有什么区别?如果来自Chrome浏览器的简单get请求给我带来麻烦,为什么file_get_contents返回空?

我已经知道file_get_contents是同步的,所以我不希望这只是等待响应时出现的noob错误。

任何帮助将不胜感激,这是我第一次使用PHP。这并不难,但我可能缺少一些重要的东西。

1 个答案:

答案 0 :(得分:0)

对不起,每个人都无法理解为什么,但是问题出在用于访问网站验证的方法中。

使用curl语法,我终于可以使用它了。