重新验证码无法正常工作

Re captcha not working properly

请帮助我使用这个 recaptcha v2。 我不知道出了什么问题,但这是我的代码

if (isset($_POST['submit']))
{
    if(isset($_POST['g-recaptcha-response'])){
        //your site secret key
        $secret = 'secrete key';
        //get verify response data
        $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
        $responseData = json_decode($verifyResponse);
        if($responseData->success){ 
            //code here
        }
        else{
            echo "<script>alert('Please click reCAPTCHA');</script>";
        }
    }

我在本地主机上使用这段代码我没有任何问题。我已经在 google recaptcha 中输入了我的域,我认为唯一的问题是代码。

更新使用file_get_cotents()发出的请求
    $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
    $responseData = json_decode($verifyResponse);

curl

$url = 'https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response'];

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_TIMEOUT, 15);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, TRUE); 
$curlData = curl_exec($curl);

curl_close($curl);

$responseData = json_decode($curlData, TRUE);

试试这个代码:


if(isset($_POST['submit']) && !empty($_POST['submit'])) {
    if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])) {

        $secret = 'KEY';
        $url = 'https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response'];
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($curl, CURLOPT_TIMEOUT, 15);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, TRUE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, TRUE); 
        $curlData = curl_exec($curl);

        curl_close($curl);

        $responseData = json_decode($curlData, TRUE);
        if($responseData['success'] == 'true') {

                 // Success code here

          }
          else
         {
       echo "<script>alert('Invalid reCAPTCHA');</script>";
         }
   }
}