PHPでサイトにログインし、クッキー(cookie)を取得する。
とあるサイトにログインしてデータを取り出したいと思ったので、
とりあえず、ログインしてクッキーを取得する部分を作ってみた。
PEARのHTTP_Requestを使用します。
また、接続先がhttpsであればopensslモジュールが必要です。
HTTP_Requestは
#pear install HTTP_Request
でインストールできます。
opensslがインストールされているかどうかは
#php -m
で確認できます。opensslが表示されなければインストールされていません。
--with-openssl[=DIR]を指定してphpをコンパイルしてください。
<?php require_once("HTTP/Request.php"); $cookies = array(); $http = new HTTP_Request(); $http->setURL("https://www.xxxx.jp/login"); $http->setMethod(HTTP_REQUEST_METHOD_POST); //POSTするデータ $http->addPostData("name", "xxxx"); $http->addPostData("password", "xxxx"); $http->sendRequest(); if(count($http->getResponseCookies())){ $cookies = $http->getResponseCookies(); } //↓コメントアウトを外せばヘッダーとページソースが表示されます。 //print_r($http->getResponseHeader()); //echo $http->getResponseBody(); var_dump($cookies);//クッキーを表示します。 ?>