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);