[php] curl_exec() でリクエストが送信されない
2022/03/18
未分類
問題
curl関数を使ってリクエストを送りたいのですが、curl_exec()でリクエストが送信されないです。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL. 'https://www.google.com/recaptcha/api/siteverify');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(~~略~~));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$recaptcha_response = curl_exec($ch);
おかしいな?
答え
ここですね。
curl_setopt($ch, CURLOPT_URL. 'ht~
CURLOPT_URL. '~
~~~
カンマとピリオドを間違えていると思われるが、
文法的には問題なく、
curl関数としては謎の無効なオプションが指定されたような状態。
URLが指定されない状態で curl_exec()されていると思われる。
確認方法
エラーは以下で確認できる。
curl_error($ch);
curl_errno($ch);
この場合だと、curl_errorが "No URL set!" と教えてくれる。
修正案
カンマに修正すると、URLがセットされて、リクエストが送信できるはず。
curl_setopt($ch, CURLOPT_URL, 'ht~