reCaptcha V2 现在在验证期间超时

reCaptcha V2 is now timing out during valication

我已经使用 reCaptcha V2 一段时间了,突然间验证在 file_get_contents 行超时。

我可以从错误中复制 URL 并将其粘贴到新的 window 中,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);

我通过改为使用 $curl 解决了 File_get_contents 的超时问题。

像这样:

$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