Guzzle Documentation

Guzzle jest klientem PHP HTTP, który ułatwia wysyłanie zapytań HTTP oraz integrację z usługami sieciowymi.

  • Prosty interfejs do tworzenia ciągów zapytań, żądań POST, przesyłania dużych wysyłanie, strumieniowe pobieranie, używanie ciasteczek HTTP, wysyłanie danych JSON, etc...
  • Może wysyłać zarówno synchroniczne jak i asynchroniczne żądania używając tego samego interfejsu.
  • Wykorzystuje interfejsy PSR-7 dla żądań, odpowiedzi i strumieni. Pozwala to na wykorzystanie innych bibliotek zgodnych z PSR-7 w Guzzle.
  • Abstrahuje od bazowego transportu HTTP, pozwalając na pisanie kodu kod niezależny od środowiska i transportu, np. brak twardej zależności od cURL, strumieni PHP, gniazdek lub nieblokujących pętli zdarzeń.
  • System middleware pozwala na rozszerzenie i skomponowanie zachowania klienta.
$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();

Podręcznik użytkownika