Не могу получить тело ответа от Guzzle EntityBody - PullRequest
1 голос
/ 23 января 2020

Я не могу понять, как получить тело ответа из запроса.

Я нашел здесь разные ответы, но проблема в том, что ни один из этих методов 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)
  }
}

1 Ответ

1 голос
/ 26 января 2020

Вы используете Guzzle3, который устарел и устарел. Пожалуйста, используйте Guzzle6 (composer require guzzlehttp/guzzle).

Отвечая на ваш вопрос напрямую, просто приведите этот объект к строке или передайте true вашему ->getBody() вызову ( как предположил Йоханес Гултом).

...