首页 >后端开发 >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 中,响应遵循 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

文档:

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

以上是如何从 Guzzle 6 PSR-7 响应中高效获取身体内容?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn