Guzzle 6 での PSR-7 応答から本文の内容を取得する
Guzzle 6 では、応答は PSR-7 標準に準拠しています。ストリームを利用して応答本文を保存します。本文の内容を取得するには、ストリームを取得し、その後その内容を取得する必要があります。
本文の内容を取得するメソッド:
キャスト先文字列:
$contents = (string) $response->getBody();
getContents():
$contents = $response->getBody()->getContents();
の違いgetContents() とCasting:
getContents() は残りのストリーム コンテンツを返します。後続の getContents() の呼び出しでは、ストリーム位置がリセットされない限り、空の文字列が返されます。一方、キャストでは、すべてのストリーム データを最初から最後まで読み取ります。
例:
$stream = $response->getBody(); $contents = $stream->getContents(); // contents are retrieved $contents = $stream->getContents(); // returns empty string $stream->rewind(); // seek the stream back to the beginning $contents = $stream->getContents(); // contents are retrieved again
文字列へのキャストは、単一の読み取り操作を実行します。そして、からのすべてのデータを返します。
$contents = (string) $response->getBody(); // contents are retrieved $contents = (string) $response->getBody(); // contents are retrieved again
ドキュメント:
以上がGuzzle 6 PSR-7 反応から体内の内容物を効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。