Maison >développement back-end >tutoriel php >Comment récupérer le corps de réponse dans Guzzle 6 ?

Comment récupérer le corps de réponse dans Guzzle 6 ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-30 17:06:12523parcourir

How to Retrieve the Response Body in Guzzle 6?

Récupération du corps d'une réponse dans Guzzle 6

Guzzle 6, une bibliothèque client HTTP populaire pour PHP, utilise la norme PSR-7 qui impose l'utilisation de flux pour stocker le corps d'un message. Pour récupérer ce corps sous forme de chaîne, utilisez l'une des méthodes suivantes :

Opérateur de diffusion de chaîne

$contents = (string) $response->getBody();

Utilisation de getContents()

$contents = $response->getBody()->getContents();

Clé Différence :

  • getContents() renvoie le contenu restant du flux, c'est-à-dire un flux ultérieur L'appel renverra une chaîne vide à moins que la position du flux ne soit réinitialisée à l'aide du rembobinage ou de la recherche.
  • La diffusion vers une chaîne lira toutes les données du flux, quelles que soient les opérations précédentes.

Pour exemple :

$stream = $response->getBody();
$contents = $stream->getContents(); // returns all contents
$contents = $stream->getContents(); // empty string
$stream->rewind();  // reset stream position
$contents = $stream->getContents();  // returns all contents again

En revanche :

$contents = (string) $response->getBody(); // returns all contents
$contents = (string) $response->getBody(); // returns all contents again

Pour plus de détails, reportez-vous à la documentation Guzzle : http://docs.guzzlephp.org/en/latest/psr7.html#responses

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn