首页 > 后端开发 > php教程 > 如何从 Guzzle 6 PSR-7 响应中高效获取身体内容?

如何从 Guzzle 6 PSR-7 响应中高效获取身体内容?

DDD
发布: 2024-11-30 20:34:17
原创
716 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板