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);//クッキーを表示します。
?>
  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。