libcurl + PHP

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オプションを設定しないとうまく動かず、気付くまでハマった。

トラックバック

コメント

ぷーさんって凄いよね><
ま、お仕事絡みだから仕方ないんだろうけど・・・
私は1つの言語やったらそれしかできない人です^^;

全く話しかわるけど、クラスメイトが就活での話し。
面談の際に実技があったらしく、本人全く知らなかったようなのね。
で、『この結果が出力されるプログラムを
配列を使ってやってみて』と言われたらしいの。
結果は作れなくて面談終わったみたいなんだけど、
正直私も、本見ないとわかりません状態です;
・・・はっはっは。
こんなんじゃやっぱダメだよね^^;
いつかはチャッチャッチャとコーディングできる日が来るのだろうか?
それさえ微妙@@;

常に新しいものが出てくる世界です。
日々是勉強であるという意味では、その人の経験に関わらずみんな一緒だと思ってます。最新技術は誰だって未経験なんだから。
お互いがんばりましょうね。

本を見るのはふつうだと思いますよ。 :-)


コメントはすぐには反映しません。
ほぼ毎日チェックしていますが、翌日以降の反映となることもあります。

Twitter