從Guzzle 6 中的PSR-7 回應取得正文內容
在Guzzle 6 中,回應遵循標準利用Streams 來儲存回應主體。若要檢索正文內容,必須檢索 Stream 並隨後取得其內容。
檢索正文內容的方法:
投射到String:
$contents = (string) $response->getBody();
$contents = $response->getBody()->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
轉換為字串執行單一讀取操作並傳回所有資料流。
以上是如何從 Guzzle 6 PSR-7 回應中高效獲取身體內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!