首页 > 后端开发 > php教程 > 如何在Guzzle 6中高效检索响应体?

如何在Guzzle 6中高效检索响应体?

Barbara Streisand
发布: 2024-11-28 13:54:14
原创
625 人浏览过

How to Efficiently Retrieve the Response Body in Guzzle 6?

从 Guzzle 6 中的响应中检索正文

使用 Guzzle 时,响应的正文存储在流中。要检索它,有两种常见的方法。

使用 PHP 转换运算符

<br>$contents = (string) $response-> getBody();<br>

此操作将读取从流的开头到结尾的所有数据。后续调用 getBody()->getContents() 将返回空字符串。

使用 getBody()->getContents()

$contents = $response->getBody()->getContents();
登录后复制

与getContents(),它只返回流的剩余内容。如果您调用它两次而没有使用 rewind() 或eek() 查找位置,它将返回一个空字符串。

示例

使用 (string):

$contents = (string) $response->getBody();
echo $contents; // Prints entire response body
$contents = (string) $response->getBody();
echo $contents; // Empty string, as data has already been consumed
登录后复制

使用getContents():

$stream = $response->getBody();
$contents = $stream->getContents(); // Prints entire response body
$contents = $stream->getContents(); // Empty string, as data has not been reset
$stream->rewind(); // Reset stream
$contents = $stream->getContents(); // Prints entire response body
登录后复制

结论

两种方法都会检索响应正文。根据您的具体需求选择方法,例如是否只需要读取一次数据或多次读取数据。

以上是如何在Guzzle 6中高效检索响应体?的详细内容。更多信息请关注PHP中文网其他相关文章!

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