Что такое 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();
Свежие комментарии