レスポンスの評価 – HTTP レスポンスからの情報を評価する

HTTP は Request - Response スキームに基づいたプロトコルなので、 全ての HTTP リクエストは HTTP レスポンスに追随されます。 HTTP_Request は、 それらのレスポンスからの情報を評価するいくつかのメソッドを提供しています。

HTTP レスポンスの重要な部分は、レスポンスコードです。 最も良く知られたレスポンスコードは、 おそらく何度かブラウザで見たことがある 404 でしょう。 404 の意味は、 リクエストされたリソースを見つけることができなかった、ということです。 ステータスコードの完全なリストは、 RFC 2616 に見つけることができます。

レスポンスコードをチェックする


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

$urls = array(
    
"http://www.example.com/",
    
"http://example.com/thisdoesnotexist.html"
    
);

$req =& new HTTP_Request("");
foreach (
$urls as $url) {
    
$req->setURL($url);
    
$req->sendRequest();

    
$code $req->getResponseCode();
    switch (
$code) {
    case 
404:
        echo 
"Document not found\n";
        break;

    case 
200:
        echo 
"Everything's ok\n";
        break;

    
/* ... */
    
}
}
?>

HTTP リクエストと同様、HTTP レスポンスはヘッダとボディで構成されます。 HTTP_Request は、 レスポンスヘッダにアクセスするためのメソッドを提供します。

レスポンスからの全てのヘッダを取得する


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

$req =& new HTTP_Request("http://example.com/");
$req->sendRequest();

foreach (
$req->getResponseHeader() as $name => $value) {
    echo 
$name " = " $value "\n";
}
?>

これは、全てのヘッダと付随する値を表示します。

特定のヘッダを取得する


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

$req =& new HTTP_Request("http://example.com/");
$req->sendRequest();

echo 
$req->getResponseHeader("Date");
?>

これは、Date: ヘッダの値を表示します。

HTTP レスポンスの一部であるクッキーを取得については、 Cookies に記載されています。