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

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

Barbara Streisand
Barbara Streisandoriginal
2024-11-28 13:54:14621parcourir

How to Efficiently Retrieve the Response Body in Guzzle 6?

Récupérer le corps d'une réponse dans Guzzle 6

Lorsque vous travaillez avec Guzzle, le corps d'une réponse est stocké dans un flux. Pour le récupérer, il existe deux approches courantes.

Utilisation de PHP Casting Operator

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

Cette opération lira tous les données du début à la fin du flux. Les appels suivants à getBody()->getContents() renverront une chaîne vide.

Utilisation de getBody()->getContents()

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

Avec getContents(), il renvoie uniquement le contenu restant du flux. Si vous l'appelez deux fois sans rechercher la position en utilisant rewind() ou seek(), il renverra une chaîne vide.

Exemple

Utilisation de (string) :

$contents = (string) $response->getBody();
echo $contents; // Prints entire response body
$contents = (string) $response->getBody();
echo $contents; // Empty string, as data has already been consumed

Utilisation getContents() :

$stream = $response->getBody();
$contents = $stream->getContents(); // Prints entire response body
$contents = $stream->getContents(); // Empty string, as data has not been reset
$stream->rewind(); // Reset stream
$contents = $stream->getContents(); // Prints entire response body

Conclusion

Les deux approches récupèrent le corps de la réponse. Choisissez la méthode en fonction de vos besoins spécifiques, par exemple si vous devez lire les données une seule ou plusieurs fois.

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