La classe Zend_Http_Response permet d'accéder facilement aux réponses renvoyées par Section 15.1, « Zend_Http_Client - Introduction ».
Elle offre un ensemble de méthodes intuitives permettant de manipuler les données d'une réponse HTTP reçue suite à une requête :
isError(): Renvoie TRUE si un code HTTP d'erreur a été reçu; FALSE sinon
isSuccessful(): Renvoie TRUE si un code HTTP de succès a été reçu; FALSE sinon
isRedirect(): Renvoie TRUE si un code HTTP de redirection a été reçu; FALSE sinon
getStatus(): Renvoie le code d'état HTTP
getHeaders(): Renvoie un tableau des en-têtes HTTP de la réponse, sous forme de chaîne
getBody(): Renvoie le corps de la réponse HTTP sous forme de chaîne
Exemple 15.24. Manipuler les données d'une réponse HTTP
<?php
require_once 'Zend/Http/Client.php';
try {
$http = new Zend_Http_Client('http://exemple.org');
$reponse = $http->get();
if ($reponse->isSuccessful()) {
echo $reponse->getBody();
} else {
echo "<p>Une erreur a eu lieu</p>\n";
echo "Code d'état HTTP : " . $reponse->getStatus() . "\n";
echo "En-têtes HTTP :\n";
$enTetesDeReponse = $reponse->getHeaders();
foreach ($enTetesDeReponse as $nomEnTete => $valeurEnTete) {
echo "$nomEnTete: $valeurEnTete\n";
}
}
} catch (Zend_Http_Client_Exception $e) {
echo '<p>Une erreur a eu lieu (' .$e->getMessage(). ')</p>';
}
?>