ホームページ >バックエンド開発 >PHPチュートリアル >Guzzle 6 でレスポンスボディを取得するにはどうすればよいですか?

Guzzle 6 でレスポンスボディを取得するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-30 17:06:12523ブラウズ

How to Retrieve the Response Body in Guzzle 6?

Guzzle 6 での応答の本文の取得

PHP 用の人気のある HTTP クライアント ライブラリである Guzzle 6 は、ストリームの使用を義務付ける PSR-7 標準を利用します。メッセージの本文を保存します。この本文を文字列として取得するには、次のいずれかのメソッドを使用します。

String Casting Operator

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

getContents() の使用

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

Key Difference:

  • getContents() はストリームの残りのコンテンツを返します。つまり、巻き戻しまたはシークを使用してストリーム位置がリセットされない限り、後続の呼び出しでは空の文字列が返されます。
  • 文字列にキャストすると、前の操作に関係なく、ストリームからすべてのデータが読み取られます。

の場合例:

$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

対照:

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

詳細については、Guzzle のドキュメントを参照してください: http://docs.guzzlephp.org/en/latest/psr7.html #responses

以上がGuzzle 6 でレスポンスボディを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。