自分用メモ。
// 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');
適宜追記予定。