Guzzle, PHP HTTP client 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…

Guzzle, PHP HTTP client



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
- Can send both synchronous and asynchronous requests using the same interface.
- Uses PSR-7 interfaces for requests, responses, and streams. This allows you
- Supports PSR-18 allowing interoperability between other PSR-18 HTTP Clients.
- Abstracts away the underlying HTTP transport, allowing you to write
- Middleware system allows you to augment and compose client behavior.
php
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.github.com/repos/guzzle/guzzle');
echo $response->getStatusCode(); // 200
echo $response->getHeaderLine('content-type'); // 'application/json; charset=utf8'
echo $response->getBody(); // '{"id": 1420053, "name": "guzzle", ...}'
// 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();
Help and docs
We use GitHub issues only to discuss bugs and new features. For support please refer to:
- [Documentation](docs/index.md)
- Stack Overflow
- #guzzle channel on PHP-HTTP Slack
- Gitter
Installing Guzzle
The recommended way to install Guzzle is through
Composer.
bash
composer require guzzlehttp/guzzle
Version Guidance
| Version | Status | Packagist | Namespace | Repo | Docs | PSR-7 | PHP Version |
|---------|---------------------|---------------------|--------------|---------------------|---------------------|-------|--------------|
| 3.x | EOL (2016-10-31) | guzzle/guzzle | Guzzle | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No | >=5.3.3,<7.0 |
| 4.x | EOL (2016-10-31) | guzzlehttp/guzzle | GuzzleHttp | [v4][guzzle-4-repo] | N/A | No | >=5.4,<7.0 |
| 5.x | EOL (2019-10-31) | guzzlehttp/guzzle | GuzzleHttp | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No | >=5.4,<7.4 |
| 6.x | EOL (2023-10-31) | guzzlehttp/guzzle | GuzzleHttp | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes | >=5.5,<8.0 |
| 7.x | Latest | guzzlehttp/guzzle | GuzzleHttp | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes | >=7.2.5,<8.6 |
[guzzle-3-repo]: https://github.com/guzzle/guzzle3
[guzzle-4-repo]: https://github.com/guzzle/guzzle/tree/4.x
[guzzle-5-repo]: https://github.com/guzzle/guzzle/tree/5.3
[guzzle-6-repo]: https://github.com/guzzle/guzzle/tree/6.5
[guzzle-7-repo]: https://github.com/guzzle/guzzle/tree/7.14
[guzzle-3-docs]: https://github.com/guzzle/guzzle3/tree/master/docs
[guzzle-5-docs]: https://github.com/guzzle/guzzle/tree/5.3/docs
[guzzle-6-docs]: https://github.com/guzzle/guzzle/tree/6.5/docs
[guzzle-7-docs]: https://github.com/guzzle/guzzle/blob/7.14/docs/index.md
Security
If you discover a security vulnerability within this package, please send an email to [email protected]. All security vulnerabilities will be promptly addressed. Please do not disclose security-related issues publicly until a fix has been announced. Please see Security Policy for more information.
License
Guzzle is made available under the MIT License (MIT). Please see [License File](LICENSE) for more information.
For Enterprise
Available as part of the Tidelift Subscription
The maintainers of Guzzle and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.
Members
-
guzzle ★ PINNED
Guzzle, an extensible PHP HTTP client
PHP ★ 23k 57m agoExplain → -
psr7 ★ PINNED ⑂
PSR-7 HTTP message library
PHP ★ 7.9k 57m agoExplain → -
promises ★ PINNED
Promises/A+ library for PHP with synchronous support
PHP ★ 7.7k 12h agoExplain → -
uri-template ★ PINNED
Expands RFC 6570 URI templates
PHP ★ 196 12h agoExplain → -
RingPHP ▣
[DEPRECATED] Simple handler system used to power clients and servers in PHP (this project is no longer used in Guzzle 6+)
PHP ★ 840 7y agoExplain → -
streams ▣
[DEPRECATED] Provides a simple abstraction over streams of data
PHP ★ 636 6y agoExplain → -
guzzle-services
Provides an implementation of the Guzzle Command library that uses Guzzle service descriptions to describe web services, serialize requests, and parse responses into easy to use model structures.
PHP ★ 255 11h agoExplain → -
oauth-subscriber
Signs Guzzle requests using OAuth 1.0
PHP ★ 240 12h agoExplain → -
guzzle_sphinx_theme
Sphinx theme used by Guzzle
HTML ★ 169 5y agoExplain → -
guzzle3 ▣
[DEPRECATED] This is end of life and not maintained. Migrate to https://github.com/guzzle/guzzle
PHP ★ 152 4y agoExplain → -
command
Provides the foundation for building web service clients with Guzzle
PHP ★ 116 12h agoExplain → -
cache-subscriber ▣
[DEPRECATED] Private transparent proxy cache that caches HTTP responses (Guzzle 5+)
PHP ★ 63 6y agoExplain → -
retry-subscriber ▣
[DEPRECATED] Retries failed requests using customizable retry strategies. Guzzle 4/5 only.
PHP ★ 61 9y agoExplain → -
log-subscriber ▣
[DEPRECATED] Logs HTTP requests and Responses as they are sent over the wire. Not used in Guzzle 6.
PHP ★ 43 10y agoExplain → -
progress-subscriber ▣
[DEPRECATED] Emits upload and download progress events (Guzzle 4)
PHP ★ 19 12y agoExplain → -
test-server
A node.js server and a PHP controller class one can use when testing
PHP ★ 14 12h agoExplain → -
message-integrity-subscriber ▣
[DEPRECATED] Verifies the integrity of HTTP responses using customizable validators. Guzzle 4/5.
PHP ★ 12 11y agoExplain → -
.github
Default community health files
★ 3 4y agoExplain → -
client-integration-tests ⑂
HTTP client integration tests
PHP ★ 0 5d agoExplain →
No repos match these filters.