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();