PHP code example of mj4444 / simple-http-client
1. Go to this page and download the library: Download mj4444/simple-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/ */
mj4444 / simple-http-client example snippets
use Mj4444\SimpleHttpClient\CurlHttpClient;
use Mj4444\SimpleHttpClient\HttpRequest\HttpRequest;
$client = new CurlHttpClient();
$request = new HttpRequest('http://www.google.com');
$response = $client->request($request);
$responseHttpCode = $response->getHttpCode();
$responseUrl = $response->getUrl();
$responseEffectiveUrl = $response->getEffectiveUrl();
$responseContentType = $response->getContentType();
$responseBody = $response->getBody();
echo $responseHttpCode . PHP_EOL;
echo $responseUrl . PHP_EOL;
echo $responseEffectiveUrl . PHP_EOL;
echo $responseContentType . PHP_EOL;
echo PHP_EOL . $responseBody . PHP_EOL . PHP_EOL;
use Mj4444\SimpleHttpClient\HttpRequest\HttpRequest;
$request = new HttpRequest('http://www.google.com/search?q=demo');
use Mj4444\SimpleHttpClient\HttpRequest\HttpRequest;
$request = new HttpRequest('http://www.google.com/search', ['q' => 'demo']);
use Mj4444\SimpleHttpClient\HttpRequest\Body\MultipartBody\File;
use Mj4444\SimpleHttpClient\HttpRequest\Body\MultipartBody\StringFile;
use Mj4444\SimpleHttpClient\HttpRequest\HttpMethod;
use Mj4444\SimpleHttpClient\HttpRequest\HttpRequest;
$request = new HttpRequest('http://www.google.com', null, HttpMethod::Post);
$request->setUrlencodedBody(['q' => 'demo']);
$request->setMultipartFormBody([
'field1' => 'value1',
'field2' => 2,
'field3' => new File($fileName, $postName, $mime),
'field4' => new StringFile($data, $postName, $mime),
]);
$request->setJsonBody('demo');
$request->setStringBody(http_build_query(['q' => 'demo']), 'application/x-www-form-urlencoded');
$request->setNoBody();
$request->setFileBody(...);
$request->setStreamBody(...);
$request->setStringStreamBody(...);
use Mj4444\SimpleHttpClient\CurlHttpClient;
use Mj4444\SimpleHttpClient\HttpRequest\Body\NoBody;
use Mj4444\SimpleHttpClient\HttpRequest\Body\UrlencodedBody;
use Mj4444\SimpleHttpClient\JsonHttpClient;
$client = new JsonHttpClient(new CurlHttpClient());
$data = $client->get('https://example.com', ['q' => 'demo']);
$data = $client->post('https://example.com', ['body' => 'demo'], ['q' => 'demo']);
$data = $client->post('https://example.com', new NoBody());
$data = $client->post('https://example.com', new UrlencodedBody([['q' => 'demo']]));
use Mj4444\SimpleHttpClient\CurlHttpClient;
use Mj4444\SimpleHttpClient\HttpRequest\HttpRequestEx;
$client = new CurlHttpClient();
$fp = fopen('php://temp', 'rb+');
$request = new HttpRequestEx('https://google.com');
$request->setFollowLocation(true);
$request->setResourceForResponseBody($fp);
$progressCallback = static function ($bytesToDownload, $bytesDownloaded, $bytesToUpload, $bytesUploaded): bool {
echo sprintf("%d / %d -- %d / %d\n", $bytesToDownload, $bytesDownloaded, $bytesToUpload, $bytesUploaded);
return true;
};
$request->setProgressCallback($progressCallback);
$response = $client->request($request);
$response->checkHttpCode(200);