Guzzle Documentation
Guzzle è un client HTTP PHP che rende facile l'invio di richieste HTTP e banale l'integrazione con i servizi web.
- Semplice interfaccia per costruire stringhe di query, richieste POST, streaming di grandi
upload, streaming di download di grandi dimensioni, utilizzo di cookie HTTP, caricamento di dati JSON,
ecc...
- Può inviare richieste sincrone e asincrone usando la stessa interfaccia.
- Utilizza interfacce PSR-7 per richieste, risposte e flussi. Questo vi permette
di utilizzare altre librerie PSR-7 compatibili con Guzzle.
- Elimina il trasporto HTTP sottostante, permettendovi di scrivere
codice agnostico all'ambiente e al trasporto; cioè, nessuna dipendenza da cURL,
flussi PHP, socket o cicli di eventi non bloccanti.
- Il sistema middleware permette di aumentare e comporre il comportamento del cliente.
$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();