やったこと

webサービスを作るときに考えたことを垂れ流します

PEARをインストールしないでHTTP_Request2を使う方法

PEARをインストールしないでHTTP_Request2を使ってみた。
手順は以下。

①HTTP_Request2を入手する
以下のページから取ってくる。
http://pear.php.net/package/HTTP_Request2/download


②Net_URL2を入手する
以下のページから取ってくる。
http://pear.php.net/package/Net_URL2/download


③自分のサーバにファイルを展開する
取ってきたHTTP_Request2とNet_URL2のファイルを自分のサーバに展開する。
tar zxvf xxxxコマンドで解凍できる。


④ディレクトリを移動する
HTTP_Request2の「HTTP」ディレクトリを自前の「hoge」ディレクトリ下に移動する。
また、Net_URL2「Net」ディレクトリを自前の「hoge」ディレクトリ下に移動する。
(↓こんな感じにする)

hoge
│
├─HTTP
│  ├─Request2.php
│  └─Request2
│
└─Net
    └─URL2.php


php内でインクルードする
phpでインクルードするときに以下のようにパスを通しておく。
これでHTTP_Request2が使えるようになる。

//パスを通してインクルード
$path = dirname(__FILE__)."/hoge";
set_include_path(get_include_path().PATH_SEPARATOR.$path);
require_once("HTTP/Request2.php");

//通信開始!
$url = "http://www.hoge.jp/";
$req = new HTTP_Request2();
$req->setUrl($url);
$req->setMethod(HTTP_Request2::METHOD_GET);

try {
  $resp = $req->send();
  if ($resp->getStatus() == 200){
    echo("取得成功!\n"); 
    echo $resp->getBody();
  }else{
    //取得失敗したとき
    throw new Exception ("errstatus:".$resp->getStatus());
  }
} catch (HTTP_Request2_Exception $e) {
  echo("取得失敗!".$e->getMessage());
} catch (Exception $e) {
  echo("取得失敗!".$e->getMessage());
}