Что такое Guzzle
Guzzle — это HTTP-клиент на PHP, который упрощает отправку HTTP-запросов и интеграцию с веб-сервисами.
- Простой интерфейс для создания строк запросов, запросов POST, потоковой передачи больших данных, использования файлов cookie HTTP, загрузки данных JSON и т.п.
- Может отправлять как синхронные, так и асинхронные запросы, используя один и тот же интерфейс.
- Использует интерфейсы PSR-7 для запросов, ответов и потоков. Это позволяет вам использовать другие PSR-7-совместимые библиотеки с Guzzle.
- Абстрагирует базовый HTTP-транспорт, позволяя писать независимый от среды и транспорта код; т.е. нет жесткой зависимости от cURL, потоков PHP, сокетов или неблокирующих циклов событий.
- Система промежуточного программного обеспечения позволяет дополнять и составлять поведение клиента.
Пример работы Guzzle
// Инициализируем клиент Guzzle $client = new GuzzleHttp\Client(); // Делаем GET запрос к https://api.github.com/user (попутно авторизовываясь в GitHub) $res = $client->request('GET', 'https://api.github.com/user', [ 'auth' => ['user', 'pass'] ]); // Получаем "200", это 200 OK echo $res->getStatusCode(); // Заголовок 'application/json; charset=utf8' echo $res->getHeader('content-type')[0]; // {"type":"User"...' echo $res->getBody(); // Оформляем асинхронный запрос $request = new \GuzzleHttp\Psr7\Request('GET', 'http://httpbin.org'); // Инициализируем цепочку Promise $promise = $client->sendAsync($request)->then(function ($response) { echo 'I completed! ' . $response->getBody(); }); // Ожидаем ответ Promise $promise->wait();
Свежие комментарии