Because HTTP is a protocol based on the Request - Response scheme, every HTTP request is followed by a HTTP response. HTTP_Request offers several methods to evaluate the information from these responses.
A important part of the HTTP response is the response code. The most
well-known response code probably is 404
, which
you may have seen in your browser at several occasions. The meaning
of 404
is that the requested ressource could not
be found. A complete list of status codes can be found in RFC 2616.
Checking the response code
<?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;
/* ... */
}
}
?>
Similar to a HTTP request a HTTP response consists of a header and a body. HTTP_Request offers a method to access the header of the response.
Getting all headers from the response
<?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";
}
?>
This will print all headers and the appendant values.
Getting a specific header
<?php
require_once "HTTP/Request.php";
$req =& new HTTP_Request("http://example.com/");
$req->sendRequest();
echo $req->getResponseHeader("Date");
?>
This will print the value of the Date:
header.
Fetching the cookies that are part of the HTTP response is described in the Cookies section.