libcurl + PHP
2006/03/08 14:46
httpsサイトに対するPOSTリクエストを、PHPで実装しなければならない。
--with-openssl をつけてビルドして、fsockopenしても良いのだが、curl関数を使ったほうが色々便利そうだったので、試してみた。
MacOS Xにはcurlコマンドがプリインストールされているので、curlパッケージをユーザー自身の手でビルドする必要は必ずしもない。PHPをビルドする際に、 --with-curl=/usr と指定するだけでいい。
以下、PHPのcurl関数を使って、httpsサイトへのPOSTを行ってみたサンプル。
<?php
$curl = curl_init('https://www.example.com/form.php');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS,'arg1=POST値1&arg2=POST値2');
$body = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
print_r($info);
?>
CURLOPT_SSL_VERIFYPEERオプションを設定しないとうまく動かず、気付くまでハマった。
