reCaptcha V2 теперь истекает во время проверки - PullRequest
0 голосов
/ 07 августа 2020

Я уже некоторое время использую reCaptcha V2, и внезапно время проверки истекает в строке file_get_contents.

Я могу скопировать URL-адрес из ошибки и вставить его в новое окно и JSON объект возвращается немедленно.

$url = 'https://www.google.com/recaptcha/api/siteverify?secret='. urlencode($secret) .'&response='. urlencode($captcha);
$response = file_get_contents($url);
$responseKeys = json_decode($response,true);

1 Ответ

0 голосов
/ 21 августа 2020

Я исправил эту проблему тайм-аута с File_get_contents, заменив его на использование $ curl.

Вот так:

$url = 'https://www.google.com/recaptcha/api/siteverify?secret=' . urlencode($secret) .  '&response=' . urlencode($captcha);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
// file get contents not used any more
//$response = file_get_contents($url,0,stream_context_create(["http"=>["timeout"=>120]]) );
$responseKeys = json_decode($response,true);
// should return JSON with success as true
...