PHP CurlはPOSTを模擬、httpsもできる
サンプルコード:
function vpost($url,$data,$cookie){ // アナログデータ関数を提出
$curl = curl_init(); // CURL会話セッション起動
curl_setopt($curl, CURLOPT_URL, $url); // アクセスされるアドレス指定
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); //証明書のソースをチェック
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); //SSL証明書の暗号アルゴリズムが存在するかどうか
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT’]); // ユーザーのブラウザをシミュレート
curl_setopt($curl, CURLOPT_COOKIE, $cookie);
curl_setopt($curl, CURLOPT_REFERER,’https://www.google.co.jp’);// Referer設定
curl_setopt($curl, CURLOPT_POST, 1); // POSTリクエストを送信
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Postパケット送信
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 無限ループを防止タイムアウト制限が設定される
curl_setopt($curl, CURLOPT_HEADER, 0); // ヘッダー領域内用を戻す
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 取得情報はファイルストリームの形式で返す
$tmpInfo = curl_exec($curl); //操作を実行
if (curl_errno($curl)) {
echo 'Errno’.curl_error($curl);//例外をキャッチ
}
curl_close($curl); //CURLセッションを閉じる
return $tmpInfo; //データを返す
}