我有的:
$data = array(
'secret' => "my-app-secret",
'response' => "the-response"
);
$verify = curl_init();
curl_setopt($verify, CURLOPT_URL, "https://www.google.com/recaptcha/api/siteverify");
curl_setopt($verify, CURLOPT_POST, true);
curl_setopt($verify, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($verify, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($verify);
var_dump($response);
我得到了什么:bool(false)(这意味着curl_exec()失败)
我的期望:JSON对象响应
请帮忙.谢谢.
解决方法:
因为您尝试通过SSL进行连接,所以需要调整cURL选项来处理它.如果你添加curl_setopt($verify,CURLOPT_SSL_VERIFYPEER,false),可以快速解决这个问题.
将CURLOPT_SSL_VERIFYPEER设置为false将使其接受任何给定的证书而不是验证它们.
<?PHP
$data = array(
'secret' => "my-secret",
'response' => "my-response"
);
$verify = curl_init();
curl_setopt($verify, CURLOPT_URL, "https://www.google.com/recaptcha/api/siteverify");
curl_setopt($verify, CURLOPT_POST, true);
curl_setopt($verify, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($verify, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($verify, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($verify);
var_dump($response);