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
我已经使用 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