Artax ⋅ An Asynchronous HTTP Client for PHP
This package has been replaced by
http-client
Artax is an asynchronous HTTP/1.1 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
.
Installation
composer require amphp/artax
Usage
The main interaction point with this library is DefaultClient
. It implements all basic HTTP features and some more advanced ones such as cookies. It implements the Client
interface that can be used to implement other clients, such as a wrapper that provides caching. Consumers should always declare the Client
interface as a type.
Basic HTTP Request
In its simplest form, Artax takes an URL as string and interprets that as a GET
request to that resource without any custom headers. Standard headers like Accept
, Connection
or Host
will automatically be added if not present.
$client = new Amp\Artax\DefaultClient;
$response = yield $client->request("https://httpbin.org/get");
var_dump($response->getStatus());
var_dump($response->getHeaders());
// Response::getBody() returns a Message
// See http://amphp.org/byte-stream/message
var_dump(yield $response->getBody());