PHP: PEARのHTTP_Requestを使用したPOSTについて教えてください。
PHP: PEARのHTTP_Requestを使用したPOSTについて教えてください。 PHP初心者です。 HTTP_Requestを使用して、POSTするプログラムを作成中です。 具体的にはPHP経由でログインして、ログイン後画面から統計情報を 取得しようと考えていますが、 アクセス先のログイン画面に入れず困っています。 以下のソースはクッキーを取得、ログインID、PASS、クッキーを送信後、 画面を表示させる ところまでです。(エラーはありません) 実行後、元の画面が表示されます。(ID、PASS入力待ちの画面です) 情報の送信の仕方が悪いのか、POSTする情報が不足しているのか、 わかりません。 機能を実現させるにあたって、このほかにセッション情報等が必要なのか、 考慮事項が知りたいです。(必要な知識など) また、その場合、どのようなコーディングになるのか、 具体例も示していただければありがたいです。 <?php require_once "HTTP/Request.php"; $username = 'aaaa'; $password = 'bbbb'; // Cookie取得。 $req = new HTTP_Request("https://xxx.xxx.com/"); $req->setMethod(HTTP_REQUEST_METHOD_GET); if (!PEAR::isError($req->sendRequest())) { $cookie = $req->getResponseCookies(); } //取得したCookieを用いて、結果ページに送信 $req = new HTTP_Request("https://xxx.xxx.com/"); foreach($cookie as $c){ $req->addCookie($c["name"], $c["value"]); } $req->setMethod(HTTP_REQUEST_METHOD_POST); $req->addPostData("login_id", $username); $req->addPostData("passwd", $password); if (!PEAR::isError($req->sendRequest())) { $body = $req->getResponseBody(); $body = mb_convert_encoding($body, "Shift-JIS","auto"); echo $body; }else{ echo 'fail'; } exit; ?> ■動作環境 OS:Windows Vista PHP: Version 5.2.11 apache_2.2.13-win32-x86-openssl HTTP_Request Ver 1.4.4
PHP・1,572閲覧・100