PHP code example of mmaurice / qurl

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

    

mmaurice / qurl example snippets


use \mmaurice\qurl\Client;

$client = new Client;

use \mmaurice\qurl\Client;

$client = new Client([
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_RETURNTRANSFER => true,
]);

$client
    ->setOption(CURLOPT_FOLLOWLOCATION, true)
    ->setOption(CURLOPT_SSL_VERIFYPEER, false)
    ->setOption(CURLOPT_RETURNTRANSFER, true);

$client->setOptions([
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_RETURNTRANSFER => true,
]);

$request = $client->request(); // Instance of \mmaurice\qurl\Request

$request->setHeader('Accept-Encoding', 'gzip, deflate, br');

$request->setHeaders([
    'Accept-Language' => 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
    'Cache-Control' => 'max-age=0',
    'Connection' => 'keep-alive',
]);

$request->setBodyFields([
    'foo' => 'bar',
    'baz' => 'boo',
]);

$request->setBodyField('foo', 'bar');

// Закодировать тело запроса в формате JSON
// Будет автоматически установлен заголовок "Content-Type: application/json"
$request->setBodyJson();

// Закодировать тело запроса в формате url-encoded строки
// Будет автоматически установлен заголовок "Content-Type: application/x-www-form-urlencoded"
$request->setBodyUrlEncode();

// Закодировать тело запроса в формате массива
// Будет автоматически установлен заголовок "Content-Type: multipart/form-data"
$request->setBodyMultipartFormData();

// Задать номер порта (CURLOPT_PORT), на который будет отправлен запрос
$request->setPort(80);

// Задать таймаут (CURLOPT_TIMEOUT)
$request->setTimeout(5);

// Задать таймаут соединения (CURLOPT_CONNECTTIMEOUT)
$request->setTimeout(2);

// Задать таймаут соединения (CURLOPT_USERAGENT)
$request->setUserAgent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');

// Разрешить следовать редиректам (CURLOPT_FOLLOWLOCATION), а так же ограничить их количество (CURLOPT_MAXREDIRS)
$request->setFollowLocation(true, 5);

$response = $request->get($url, $body = [], $headers = []); // Instance of \mmaurice\qurl\Response

$response = $request->get('https://api.ipify.org/?format=json');

$response = $request->get([
    'https://api.ipify.org/',
    [
        'format' => 'json',
    ],
]);

$response = $request->post($url, $body = [], $headers = []);
$response = $request->put($url, $body = [], $headers = []);
$response = $request->head($url, $body = [], $headers = []);
$response = $request->delete($url, $body = [], $headers = []);
$response = $request->connect($url, $body = [], $headers = []);
$response = $request->options($url, $body = [], $headers = []);
$response = $request->path($url, $body = [], $headers = []);
$response = $request->trace($url, $body = [], $headers = []);
$response = $request->search($url, $body = [], $headers = []);

use \mmaurice\qurl\Request;

$response = $request->query(Request::GET, [
    'https://api.ipify.org/',
    [
        'format' => 'json',
    ],
]);

//Запрашиваемый URL
$response->getRequestUrl();

//Заголовки запроса
$response->getRequestHeader();

//Заголовки запроса без предварительной обработки
$response->getRawRequestHeader();

//Тело запроса
$response->getRequestBody();

//Тело запроса без предварительной обработки
$response->getRawRequestBody();

//Заголовки ответа сервера
$response->getResponseHeader();

//Заголовки ответа сервера без предварительной обработки
$response->getRawResponseHeader();

//Тело ответа сервера
$response->getResponseBody();

//Тело ответа сервера без предварительной обработки
$response->getRawResponseBody();

//Ссылка перенаправления сервера (если передал)
$response->getResponseRedirect();

//IP-адрес ответившего сервера
$response->getResponseIp();

//Порт ответившего сервера
$response->getResponsePort();

//Тип контента ответа
$response->getResponseContentType();

//Код ответа сервера
$response->getResponseCode();

//Сообщение сервера
$response->getResponseMessage();

//Полное сообщение сервера
$response->getResponseRawMessage();