∵ Takayoshi Saito ∴ 2012-11-25 ∞ 2'
PHPのcURLで特定サイトにアクセスしてcookieを取得した後に、同じドメインの別なページにcookieを保持したままアクセスする必要性があったので、サンプルコードを書きました。ユーザーエージェントがランダム選択なのは利用上の必要性です。cURLのオプションの書き方とか2個別々とかではなく、もっとスマートに書けたかもしれません(急いで書いたので適当です)。
'http://*****.net/aaa/', CURLOPT_HEADER => true, CURLOPT_VERBOSE => true, CURLOPT_COOKIESESSION => true, CURLOPT_COOKIEFILE => './cookie.txt', CURLOPT_COOKIEJAR => './cookie.txt', CURLOPT_USERAGENT => $userAgents, CURLOPT_ENCODING => '',
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array('Expect:')
);
CURLOPT_FOLLOWLOCATION =/>/ 1, CURLOPT_RETURNTRANSFER =/>/ true, CURLOPT_HTTPHEADER =/>/ array('Expect:') );
$options2 = array(CURLOPT_URL =/>/ 'http://*****.net/bbb/', CURLOPT_HEADER => true, CURLOPT_VERBOSE => true, CURLOPT_COOKIESESSION => true, CURLOPT_COOKIEFILE => './cookie.txt', CURLOPT_COOKIEJAR => './cookie.txt', CURLOPT_USERAGENT => $userAgents, CURLOPT_ENCODING => '', CURLOPT_RETURNTRANSFER =>true, CURLOPT_HEADER => true,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array('Expect:')
);
);
$curl = curl_init(); curl_setopt_array($curl, $options); $result = curl_exec($curl);
curl_setopt_array($curl, $options2); $result = curl_exec($curl); curl_close($curl);
?>
いちおうこれで、cookieを使って2番めのURLにアクセスできました。
パーフェクトPHP (PERFECT SERIES 3)posted with カエレバ小川 雄大,柄沢 聡太郎,橋口 誠 技術評論社 2010-11-12