Guzzle, PHP HTTP client and webservice framework ================================================ [![Build Status](https://secure.travis-ci.org/guzzle/guzzle.png?branch=master)](http://travis-ci.org/guzzle/guzzle) Guzzle is a PHP HTTP client that makes it easy to work with HTTP/1.1 and takes the pain out of consuming web services. ```php $client = new GuzzleHttp\Client(); $response = $client->get('http://guzzlephp.org'); $res = $client->get('https://api.github.com/user', ['auth' => ['user', 'pass']]); echo $res->statusCode(); // 200 echo $res->getHeader('content-type'); // 'application/json; charset=utf8' echo $res->getBody(); // {"type":"User"...' var_export($res->json()); // Outputs the JSON decoded data ``` - Pluggable HTTP adapters that can send requests serially or in parallel - Doesn't require cURL, but uses cURL by default - Streams data for both uploads and downloads - Provides event hooks & plugins for cookies, caching, logging, OAuth, mocks, etc... - Keep-Alive & connection pooling - SSL Verification - Automatic decompression of response bodies - Streaming multipart file uploads - Connection timeouts Get more information and answers with the [Documentation](http://guzzlephp.org/), [Forums](https://groups.google.com/forum/?hl=en#!forum/guzzle), and IRC ([#guzzlephp](irc://irc.freenode.net/#guzzlephp) @ irc.freenode.net). ### Installing via Composer The recommended way to install Guzzle is through [Composer](http://getcomposer.org). ```bash # Install Composer curl -sS https://getcomposer.org/installer | php ``` Next, update your project's composer.json file to include Guzzle: ```javascript { "require": { "guzzlehttp/guzzle": "4.0.0-rc.1" } } ``` After installing, you need to require Composer's autoloader: ```php require 'vendor/autoload.php'; ``` ### Documentation More information can be found in the online documentation at http://guzzlephp.org/.