2
私は、cURLリクエストを使用してサーバーに送信されたreCaptchaコードを検証しようとしています。これまでのところ、これはコードです:cURLを使用してphpからGoogleのreCaptchaコードを検証する
function verifyReCaptcha($conn,$recaptchaCode){
$curl = curl_init("https://www.google.com/recaptcha/api/siteverify");
$data = ["secret"=>"XXXXXX","response"=>$recaptchaCode];
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_HTTPHEADER => array('Accept: application/json'),
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $data));
$resp = curl_exec($curl);
curl_close($curl);
if ($resp == NULL){
echo "Error: ".curl_errno($curl);
} else {
echo $resp;
}
}
私は取得していますという応答がありnull
、それが与えるエラーが時には空白0
、です。だから、私は完全にここに迷っている。適切に動作するようにコード化する方法は?
私はreCaptcha hereのドキュメントに従っています。
EDIT:私はすでにhereのソリューションを試してみましたが、それは私のためには機能しません。
'CURLOPT_POSTFIELDS => $ data'を' CURLOPT_POSTFIELDS => http_build_query($ data)) 'に変更してみてください。配列はapplication/x-www-form-urlencodedではなくmultipart/form-data投稿を行うので、 – drew010