Documentation Guzzle
Guzzle est un client PHP HTTP qui facilite l'envoi de requêtes HTTP et rend triviale l'intégration aux services Web.
- Interface simple pour construire des chaînes de requête, des requêtes POST, des téléchargements
téléchargements importants, l'utilisation de cookies HTTP, le téléchargement de données JSON,
etc...
- Peut envoyer des demandes synchrones et asynchrones en utilisant la même interface.
- Utilise les interfaces PSR-7 pour les demandes, les réponses et les flux. Cela vous permet
d'utiliser d'autres bibliothèques compatibles PSR-7 avec Guzzle.
- Abstracte le transport HTTP sous-jacent, ce qui vous permet d'écrire du code agnostique en termes d'environnement et de transport.
du code agnostique en termes d'environnement et de transport, c'est-à-dire sans dépendance à cURL,
les flux PHP, les sockets, ou les boucles d'événements non-bloquantes.
- Le système d'intergiciel vous permet d'augmenter et de composer le comportement du client.
$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();