Recupere todo el cuerpo de respuesta XML con Guzzle 6 HTTP Client
Quería usar Guzzle 6 para recuperar una respuesta xml de una API remota. Este es mi código:
$client = new Client([
'base_uri' => '<my-data-endpoint>',
]);
$response = $client->get('<URI>', [
'query' => [
'token' => '<my-token>',
],
'headers' => [
'Accept' => 'application/xml'
]
]);
$body = $response->getBody();
Vardumping the$body
devolvería unGuzzleHttp\Psr7\Stream
objeto:
object(GuzzleHttp\Psr7\Stream)[453]
private 'stream' => resource(6, stream)
...
...
Entonces podría llamar$body->read(1024)
leer 1024 bytes de la respuesta (que se leería en xml).
Sin embargo, me gustaría recuperar toda la respuesta XML de mi solicitud, ya que tendré que analizarla más tarde usando elSimpleXML
extensión.
¿Cómo puedo recuperar mejor la respuesta XML deGuzzleHttp\Psr7\Stream
objeto para que se pueda usar para analizar?
¿Elwhile
recorrer el camino a seguir?
while($body->read(1024)) {
...
}
Agradecería tu consejo.