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-client
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.
Under development.
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.