ホームページ >バックエンド開発 >PHPチュートリアル >Guzzle 6 でレスポンスボディを効率的に取得するにはどうすればよいですか?
Guzzle 6 の応答から本文を取得する
Guzzle を使用する場合、応答の本文はストリームに保存されます。これを取得するには、2 つの一般的な方法があります。
PHP キャスト演算子を使用する
<br>$contents = (string) $response->getBody();<br>
この操作は、ストリームの先頭から最後まですべてのデータを読み取ります。後続の getBody()->getContents() の呼び出しでは空の文字列が返されます。
getBody()->getContents() の使用
$contents = $response->getBody()->getContents();
With getContents() を実行すると、ストリームの残りのコンテンツのみが返されます。 rewind() または Seek() を使用して位置を検索せずに 2 回呼び出すと、空の文字列が返されます。
例
Using (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
使用中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
結論
どちらのアプローチでも応答本文を取得します。データを 1 回だけ読み取る必要があるか、複数回読み取る必要があるかなど、特定のニーズに基づいて方法を選択します。
以上がGuzzle 6 でレスポンスボディを効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。