首页 > 解决方案 > 无法从 Guzzle EntityBody 获取响应正文

问题描述

我不知道如何从请求中获取响应正文。

我在这里找到了不同的答案,但我面临的问题是,这些方法都没有,getBody()并且getContents()在这个类上不可用,而且Guzzle\Http\EntityBody。所以这是我想从中获取数据的响应:

    object(Guzzle\Http\EntityBody)#89 (6) {
  ["contentEncoding":protected]=>
  bool(false)
  ["rewindFunction":protected]=>
  NULL
  ["stream":protected]=>
  resource(171) of type (stream)
  ["size":protected]=>
  NULL
  ["cache":protected]=>
  array(9) {
    ["wrapper_type"]=>
    string(3) "PHP"
    ["stream_type"]=>
    string(4) "TEMP"
    ["mode"]=>
    string(3) "w+b"
    ["unread_bytes"]=>
    int(0)
    ["seekable"]=>
    bool(true)
    ["uri"]=>
    string(10) "php://temp"
    ["is_local"]=>
    bool(true)
    ["is_readable"]=>
    bool(true)
    ["is_writable"]=>
    bool(true)
  }
  ["customData":protected]=>
  array(1) {
    ["default"]=>
    bool(true)
  }
}

标签: phpguzzle6

解决方案


您正在使用已过时且已弃用的 Guzzle3。请使用Guzzle6 ( composer require guzzlehttp/guzzle)。

直接回答您的问题,只需将此对象转换为字符串或传递true给您的->getBody()电话(正如 Yohanes Gultom 已经建议的那样)。


推荐阅读