从 Guzzle 6 中的 PSR-7 响应获取正文内容
在 Guzzle 6 中,响应遵循 PSR-7 标准,该标准利用 Streams 来存储响应主体。要检索正文内容,必须检索 Stream 并随后获取其内容。
检索正文内容的方法:
投射到String:
$contents = (string) $response->getBody();
getContents():
$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中文网其他相关文章!