6.2. Zend_Http_Response

6.2.1. Introduction

La classe Zend_Http_Response permet d'accéder facilement aux réponses renvoyées par Section 6.1, « Zend_Http_Client ». 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 6.6. 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>';
}
?>