1. Go to this page and download the library: Download efabrica/http-client library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
efabrica / http-client example snippets
use Efabrica\HttpClient\HttpClient;
// Create an instance with default options
$http = new HttpClient();
// Create an instance with custom options
$http = new HttpClient(
baseUri: 'https://api.example.com',
authBearer: 'your-access-token',
timeout: 10.0,
// ... other options
);
use Efabrica\HttpClient\HttpClient;
$http = new HttpClient('https://api.example.com', 'example_llt');
// Send a GET request
$response = $http->get('/resource', ['offset' => 0, 'limit' => 10]);
// Send a POST request with JSON payload
$response = $http->post('/resource', json: ['key' => 'value']);
// Send a POST request with FormData payload
$response = $http->post('/resource', body: ['key' => 'value']);
// Send a PUT request
$response = $http->put('https://api.example2.com/resource', ['email' => '[email protected]']);
// ... other request methods
use Efabrica\HttpClient\HttpClient;
$http = new HttpClient();
// Send an asynchronous request (does not block)
$response = $http->get('https://api.example.com/resource');
// Access response asynchronously
// > Exceptions are thrown when the response is read
$response->getHttpCode(); // int|null (does not block, returns null if response code is not available yet)
$response->getStatusCode(); // int (blocks until response headers are available)
$response->getResponseHeaders(); // array (blocks until response headers are available)
$response->getHeaders(); // array (blocks until response headers are available)
$response->getContent(); // string (blocks until response body is available)
$response->toArray(); // JSON body as array (blocks until response body is available)
use Efabrica\HttpClient\HttpClient;
$http = new HttpClient();
// Send multiple requests and stream responses
$responses = [
$http->get('https://api.example.com/resource1'),
$http->get('https://api.example.com/resource2'),
// ... add more requests
];
$stream = $http->stream($responses);
foreach ($stream as $response) {
// Process each response asynchronously
}
use Efabrica\HttpClient\HttpClient;
use Symfony\Component\HttpClient\Decorator\CachedHttpClient;
$http = new HttpClient();
// Add a decorator to the HTTP client
$http->setClient(new BlackfiredHttpClient($http->getClient(), $blackfire));
// Create a new instance with an additional decorator
$blackfiredClient = $http->withClient(new BlackfiredHttpClient($http->getClient(), $blackfire));
use Efabrica\HttpClient\HttpClient;
// Create an instance with default options
$http = new HttpClient();
// Create a new instance with updated options
$newHttp = $http->withOptions(baseUrl: 'https://api.new-example.com', /* ... */);
// Now $newHttp is a new instance of HttpClient with the updated options
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.