ホームページ > バックエンド開発 > PHPチュートリアル > Guzzle 6 PSR-7 反応から体内の内容物を効率的に取得するにはどうすればよいですか?

Guzzle 6 PSR-7 反応から体内の内容物を効率的に取得するにはどうすればよいですか?

DDD
リリース: 2024-11-30 20:34:17
オリジナル
708 人が閲覧しました

How to Efficiently Get Body Contents from a Guzzle 6 PSR-7 Response?

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
ログイン後にコピー

ドキュメント:

  • https://docs.guzzlephp.org/en/latest/psr7.html#responses

以上がGuzzle 6 PSR-7 反応から体内の内容物を効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート