$response = file_get_contents($url)
, но если потом проверить if($response===false), то код срабатывает. Хотя если пройти по ссылке, то там всё нормально, json файл с данными, что score 0.9. Потом я перевожу в json_decode с параметром true, но там пустой массив. Видимо, file_get_contents ничего не возвращает из ссылки. В чем может проблема? public static function check2()
{
$url = 'https://www.google.com/recaptcha/api/siteverify';
$data = array(
'secret' => Ts_App::getConfig('recaptcha2_priv_key'),
'response' => Request::getVar('g-recaptcha-response')
);
$query = http_build_query($data);
$options = array(
'http' => array (
'header' => "Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: " . strlen($query)."\r\n".
"User-Agent:MyAgent/1.0\r\n",
'method' => 'POST',
'content' => $query
)
);
$context = stream_context_create($options);
$verify = file_get_contents($url, false, $context);
$captcha_success = json_decode($verify);
if ($captcha_success->success==false) {
return false;
} else if ($captcha_success->success==true) {
return true;
}
return false;
}