mirror of
https://github.com/guzzle/guzzle.git
synced 2025-01-17 13:28:13 +01:00
b9bf901212
The getHeader method always returns an array, but it may be empty. For documentation purpose, we assume that the response object always contains the queried header, thus providing at least one element in the array at index 0.
55 lines
1.6 KiB
ReStructuredText
55 lines
1.6 KiB
ReStructuredText
.. title:: Guzzle, PHP HTTP client
|
|
|
|
====================
|
|
Guzzle Documentation
|
|
====================
|
|
|
|
Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and
|
|
trivial to integrate with web services.
|
|
|
|
- Simple interface for building query strings, POST requests, streaming large
|
|
uploads, streaming large downloads, using HTTP cookies, uploading JSON data,
|
|
etc...
|
|
- Can send both synchronous and asynchronous requests using the same interface.
|
|
- Uses PSR-7 interfaces for requests, responses, and streams. This allows you
|
|
to utilize other PSR-7 compatible libraries with Guzzle.
|
|
- Abstracts away the underlying HTTP transport, allowing you to write
|
|
environment and transport agnostic code; i.e., no hard dependency on cURL,
|
|
PHP streams, sockets, or non-blocking event loops.
|
|
- Middleware system allows you to augment and compose client behavior.
|
|
|
|
.. code-block:: 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();
|
|
|
|
|
|
User Guide
|
|
==========
|
|
|
|
.. toctree::
|
|
:maxdepth: 3
|
|
|
|
overview
|
|
quickstart
|
|
request-options
|
|
psr7
|
|
handlers-and-middleware
|
|
testing
|
|
faq
|