Guzzle Documentation

Guzzle é um cliente HTTP PHP que torna fácil o envio de pedidos HTTP e trivial a integração com serviços web.

  • Interface simples para construção de cordas de consulta, pedidos POST, streaming de grandes dimensões uploads, streaming de grandes downloads, utilização de cookies HTTP, carregamento de dados JSON, etc....
  • Pode enviar tanto pedidos síncronos como assíncronos usando a mesma interface.
  • Utiliza interfaces PSR-7 para pedidos, respostas, e fluxos. Isto permite-lhe para utilizar outras bibliotecas compatíveis PSR-7 com Guzzle.
  • Abstrai o transporte HTTP subjacente, permitindo-lhe escrever ambiente e código agnóstico do transporte; ou seja, sem dependência dura da cURL, Correntes PHP, tomadas, ou loops de eventos não bloqueantes.
  • O sistema de middleware permite aumentar e compor o comportamento do cliente.
$client = new GuzzleHttp\Client();
$res = $client->request('GET', 'https://api.github.com/user', [
    'auth' => ['user', 'pass']
]);
echo $res->getStatusCode();
// "200"
echo $res->getHeader('content-type')[0];
// 'application/json; charset=utf8'
echo $res->getBody();
// {"type":"User"...'

// Send an asynchronous request.
$request = new \GuzzleHttp\Psr7\Request('GET', 'http://httpbin.org');
$promise = $client->sendAsync($request)->then(function ($response) {
    echo 'I completed! ' . $response->getBody();
});
$promise->wait();

Guia do Utilizador