Maison >développement back-end >tutoriel php >Comment récupérer efficacement le corps de réponse dans 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!