PHP code example of solcloud / curl

1. Go to this page and download the library: Download solcloud/curl 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/ */

    

solcloud / curl example snippets


use Solcloud\Curl\CurlRequest;
use Solcloud\Http\Request;

$curl = new CurlRequest();
$request = new Request();
$request
    ->setUrl('https://www.google.com/')
    ->setConnectionTimeoutSec(1)
    ->setRequestTimeoutSec(2)
    ->setHeaders([
        'X-header: x-value',
    ])
    ->setReferer('about:blank')
    ->setUserAgent('solcloud-curl')
;
$response = $curl->fetchResponse($request);

echo "GOT {$response->getStatusCode()}: {$response->getRealUrl()}" . PHP_EOL;
echo substr($response->getBody(), 0, 30) . '...' . PHP_EOL;
print_r($response->getLastHeaders());

public function fetchResponse(Request $request): Response;

/** @var \Solcloud\Http\Contract\IRequestDownloader $downloader  */
$downloader = new \Solcloud\Curl\FileResponse('/tmp/response.html');
$downloader->fetchResponse($request) // curl not needed

use Solcloud\Curl\FileResponse;
use Solcloud\Http\Request;
use Solcloud\Http\Response;

$downloader = new FileResponse('/tmp/response.html', function (Request $request, Response $response): void {
    if ($request->getUrl() === 'badssl') {
        throw new \Solcloud\Curl\Exception\Specific\SSLException('SSL error');
    }
    if (rand(0, 1) === 0) {
        throw new \Solcloud\Http\Exception\ResponseException('Response error');
    }
    $response->setBody($response->getBody() . ' - modified');
});
$downloader->fetchResponse($request);