HTTP_Request2 がリリースされました&簡単な使い方
バージョンがあがってインターフェイスが変わったので多分この記事の内容はもうあまり役に立たないような気がします.(2010-03-21 追記)
0.1.0-alphaです。
PHP5 的な、HTTP_Requestの後継にあたる位置づけのようです。
なんか昨日HTTP_Requestを使おうとおもってマニュアル見ようとしたら見つけました。びっくり。
主な違い
主な違いは多分以下のかんじです。
- Adapterが選択できるようになった
- 今のところ、Socket、cURL、Mock
- Mockはテスト用に使える
- インターフェースがちょっと使いやすくなった
- 例外なげてくれるようになった
- Net_URL2に依存
これまでのHTTP_Requestを知っている人は、若干使い方が違うので注意が必要です。まあ似たようなものですが。
使い方
サンプルコード
<?php require_once 'HTTP/Request2.php'; try { // 引数以降省略可能だけど // あと config で proxy とか設定できる $request = new HTTP_Request2("http://nequal.jp", HTTP_Request2::METHOD_GET); $request->setHeader("user-agent", "Uhehehe! (PHP 5.2.6)"); $response = $request->send(); if ($response->getStatus() == 200) { $body = $response->getBody(); // あと処理をうにゃうにゃと // $title = @simplexml_import_dom(DOMDocument::loadHTML($body))->xpath("//head/title"); // echo $title[0]; } else { throw new Exception ("Server returned status: " . $response->getStatus()); } } catch (HTTP_Request2_Exception $e) { echo $e->getMessage(); } catch (Exception $e) { echo $e->getMessage(); }