SourceForgeにホストされているWebサイトにreCAPTCHAを追加したいが、バックエンドでユーザの応答を確認しようとするとうまくいかない。PHPとcURLを使用してreCAPTCHAのサーバに接続できない
はここに私のコードです:結果はintで
<?php
$secret = '****';
$recaptcha_response = $_POST["recaptcha_response"];
$url = 'https://www.google.com/recaptcha/api/siteverify';
$post_data = "secret=".$secret."&response=".$recaptcha_response;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_CAINFO, '****/GeoTrust.cer');
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$response_json = curl_exec($ch);
if (curl_errno($ch)) {
var_dump(curl_errno($ch));
}
curl_close($ch);
......
?>
(7)、 "カールは接続できませんでした" という意味。
誰でもこの問題を解決できますか?どうもありがとう。
証明書なしでホストを検証してみてください。また、問題があるかどうかはわかりませんが、フィールドの後ろに文字列の代わりに配列が必要な場合があります。 – TheFallen
'....../GeoTrust.cer'の代わりに' ../../../ GeoTrust.cer'にするべきではありませんか? – Justinas
@Justinas私はそれがちょうど検閲されたと思う、おそらく彼はパス機密と考えた – hanshenrik