Документация на Guzzle

Guzzle е HTTP клиент на PHP, който улеснява изпращането на HTTP заявки и прави интеграцията с уеб услуги тривиална.

  • Опростен интерфейс за изграждане на низове за заявки, POST заявки, стрийминг на големи качване, поточно изтегляне на големи файлове, използване на HTTP бисквитки, качване на JSON данни, и т.н.
  • Може да изпраща както синхронни, така и асинхронни заявки, използвайки един и същ интерфейс.
  • Използва интерфейси PSR-7 за заявки, отговори и потоци. Това ви позволява да използвате други библиотеки, съвместими с PSR-7, с Guzzle.
  • абстрахира основния HTTP транспорт, като ви позволява да пишете код, който не зависи от средата и транспорта; т.е. няма твърда зависимост от cURL, PHP потоци, сокети или неблокиращи цикли от събития.
  • Мидълуерната система ви позволява да разширявате и съставяте поведението на клиента.
$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();

Ръководство за потребителя