gpt4 book ai didi

php - 使用 cURL 从 php 验证 Google 的 reCaptcha 代码

转载 作者:行者123 更新时间:2023-12-03 23:27:20 25 4
gpt4 key购买 nike

我正在尝试验证使用 cURL 请求发送到我的服务器的 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 .

编辑:我已经尝试过发布 here 的解决方案,但它对我不起作用。

最佳答案

正如我在相关问题中所读到的,我设法使用 file_get_contents 做到了这一点。因此,对于可能像我一样被困的任何人,我将发布我的解决方案作为答案。

function verifyReCaptcha($recaptchaCode){
$postdata = http_build_query(["secret"=>"XXXXXX","response"=>$recaptchaCode]);
$opts = ['http' =>
[
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
]
];
$context = stream_context_create($opts);
$result = file_get_contents('https://www.google.com/recaptcha/api/siteverify', false, $context);
$check = json_decode($result);
return $check->success;
}

解决方案几乎是从 here 中逐字提取的。 .

关于php - 使用 cURL 从 php 验证 Google 的 reCaptcha 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41882120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com