mirror of
https://github.com/guzzle/guzzle.git
synced 2025-02-12 03:24:26 +01:00
This commit updates path and query string encoding to better handle strings that are already percent encoded, and now allows for all of the characters valid for paths and queries specified in RFC 3986 to be present in a URL without being encoded.
Guzzle, PHP HTTP client and webservice framework
Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and trivial to integrate with web services.
- Manages things like persistent connections, represents query strings as collections, simplifies sending streaming POST requests with fields and files, and abstracts away the underlying HTTP transport layer.
- Can send both synchronous and asynchronous requests using the same interface without requiring a dependency on a specific event loop.
- Pluggable HTTP adapters allows Guzzle to integrate with any method you choose for sending HTTP requests over the wire (e.g., cURL, sockets, PHP's stream wrapper, non-blocking event loops like ReactPHP.
- Guzzle makes it so that you no longer need to fool around with cURL options, stream contexts, or sockets.
$client = new GuzzleHttp\Client();
$response = $client->get('http://guzzlephp.org');
$res = $client->get('https://api.github.com/user', ['auth' => ['user', 'pass']]);
echo $res->getStatusCode();
// "200"
echo $res->getHeader('content-type');
// 'application/json; charset=utf8'
echo $res->getBody();
// {"type":"User"...'
var_export($res->json());
// Outputs the JSON decoded data
// Send an asynchronous request.
$req = $client->createRequest('GET', 'http://httpbin.org', ['future' => true]);
$client->send($req)->then(function ($response) {
echo 'I completed! ' . $response;
});
Get more information and answers with the Documentation, Forums, and Gitter.
Installing via Composer
The recommended way to install Guzzle is through Composer.
# Install Composer
curl -sS https://getcomposer.org/installer | php
Next, run the Composer command to install the latest stable version of Guzzle:
composer require guzzlehttp/guzzle
After installing, you need to require Composer's autoloader:
require 'vendor/autoload.php';
Documentation
More information can be found in the online documentation at http://guzzlephp.org/.
Description
Languages
PHP
97.5%
JavaScript
1.8%
Makefile
0.6%