首頁 >後端開發 >php教程 >如何從 Guzzle 6 PSR-7 回應中高效獲取身體內容?

如何從 Guzzle 6 PSR-7 回應中高效獲取身體內容?

DDD
DDD原創
2024-11-30 20:34:17716瀏覽

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

從Guzzle 6 中的PSR-7 回應取得正文內容

在Guzzle 6 中,回應遵循標準利用Streams 來儲存回應主體。若要檢索正文內容,必須檢索 Stream 並隨後取得其內容。

檢索正文內容的方法:

  • 投射到String:

    $contents = (string) $response->getBody();
  • 投射到String:
  • $contents = $response->getBody()->getContents();
  • getContents():

之間的差異getContents()和轉換:

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn