HTTP_RequestでHTTPリクエスト[Pear::HTTP_Request]

PearHTTP_Requestと呼ばれるHTTPリクエストを行うパッケージがあります。 Snoopyという同じようなクラスもありますが、ここではHTTP_Request1.2.4でHTTPリクエストを行います。

次の例では、レスポンスコードとヘッダー、本体を取得します。

<?php
require_once "HTTP/Request.php";

$objHttp = new HTTP_Request("http://www.yahoo.co.jp/");
if (!PEAR::isError($objHttp->sendRequest())) {
    $code = $objHttp->getResponseCode();
    $header = $objHttp->getResponseHeader();
    $body = $objHttp->getResponseBody();
}
?>

sendRequest関数でHTTP Requestをし、HTTP Responseを得ます。

HTTP_Requestクラスをインスタンス化し、getResponseCode関数でレスポンスコードの取得できます。 レスポンスコードには、200や404といったコードが返ってきます。

getResponseHeaderは、レスポンスヘッダーを連想配列で受け取ることができます。例えば、 content-typeがキーでtext/htmlが値といったように取得できます。

また、getResponseHeaderは、getResponseHeader('content-type')と指定して値を取得することもできます。

getResponseBodyは、本体を文字列として取得できます。