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>'; } ?>