This package provides an asynchronous HTTP client for PHP based on Amp. Its API simplifies standards-compliant HTTP resource traversal and RESTful web service consumption without obscuring the underlying protocol. The library manually implements HTTP over TCP sockets; as such it has no dependency on ext/curl.
- Supports HTTP/1 and HTTP/2
- Requests concurrently by default
- Pools persistent connections (keep-alive @ HTTP/1.1, multiplexing @ HTTP/2)
- Transparently follows redirects
- Decodes compressed entity bodies (gzip, deflate)
- Exposes headers and message data
- Streams entity bodies for memory management with large transfers
- Supports all standard and custom HTTP method verbs
- Simplifies HTTP form submissions
- Implements secure-by-default TLS (
https://) - Supports cookies and sessions
- Functions seamlessly behind HTTP proxies
This package can be installed as a Composer dependency.
composer require amphp/http-clientAdditionally, you might want to install the nghttp2 library to take advantage of FFI to speed up and reduce the memory usage on PHP 7.4.
Documentation is bundled within this repository in the docs directory.
More extensive code examples reside in the examples directory.
amphp/http-client follows the semver semantic versioning specification like all other amphp packages.
Everything in an Internal namespace or marked as @internal is not public API and therefore not covered by BC guarantees.
Stable and recommended version.
Legacy version. Use amphp/artax as package name instead.
No longer maintained. Use amphp/artax as package name instead.
No longer maintained. Use amphp/artax as package name instead.
If you discover any security related issues, please email me@kelunik.com instead of using the issue tracker.
The MIT License (MIT). Please see LICENSE for more information.
