PHPのcURL自分用まとめ。

自分用メモ。

// postしたい場合は値を設定
$params = array(
	'id' => '',
	'password' => '',
);
// 初期化
$ch = curl_init();
// curl_exec() の返り値を 文字列で返す(通常はデータを直接出力)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Location: ヘッダの内容を再帰的に辿る
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// サーバーから受け取ったクッキーを保存するファイル名
// 既存ファイルでないとエラーになる可能性があるので注意
curl_setopt($ch, CURLOPT_COOKIEJAR, '/cookie');
// サーバーに投げるクッキーのファイル名
curl_setopt($ch, CURLOPT_COOKIEFILE, '/cookie');
// リクエストを行うURL
curl_setopt($ch, CURLOPT_URL, '');
// HTTP POSTを行うか否か
curl_setopt($ch, CURLOPT_POST, true);
// POSTするパラメーター
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
// 実行
$output = curl_exec($ch);
// リクエストを閉じて終了
// 返り値は無い
curl_close($ch);

COOKIEJAR、COOKIEFILEのパスはどこでもいいが、名前が「cookie」でないと正常に動いてくれない模様
↑そんなこと無かった。「_cookie」で動作確認済み。
基本的なリクエストは上記のoptionで事足りるはず。
その他使用頻度が高そうなoptionは以下。

// HTTPのリクエスト形式をGETに戻す
curl_setopt($ch, CURLOPT_HTTPGET, true);
// リクエスト結果の詳細情報を出力するか否か
curl_setopt($ch, CURLOPT_VERBOSE, true);
// 上記VERBOSEの結果を書き込むファイルパス
// STDERRはプロセスが完了した後でないとファイル出力しないので注意
curl_setopt($ch, CURLOPT_STDERR, '/path/to/vb');
// WRITEHEADERはプロセス実行中でもファイルに出力してくれる
curl_setopt($ch, CURLOPT_WRITEHEADER, '/path/to/hd');

適宜追記予定。