Легкая и удобная библиотека для работы с CUrl

Я всегда был ценителем простаты и удобства. И некоторые свои наработки специально делал упрощенными как для использования так и для понимания моими коллегами по цеху.

Одной из таких библиотек я и хочу поделиться с Вами.
dHttp - это обертка над стандартными php-curl функциями.

Установка

Для установки можно использовать composer.

{
    "require": {
        "aracoool/dhttp" : "dev-master"
    }
}

Примеры использования:

Простой GET запрос и чтение ответа

$http = new dHttp\Client('http://website.com');

$resp = $http->get();
// Get response code
var_dump($resp->getCode());
// Get response body
var_dump($resp->getBody());
// Get request errors
var_dump($resp->getErrors());
// Return response headers
var_dump($resp->getHeaders());
// Return a specific (text/html; charset=utf-8)
var_dump($resp->getHeader('Content-Type'));



POST запрос

$http = new dHttp\Client('http://website.com');

$http->addOptions(array(CURLOPT_RETURNTRANSFER => false))
    ->setCookie('/tmp/cookie.txt')
    ->setUserAgent('Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31')
    ->post(array(
        'field1' => 'value1',
        'field2' => 'value2',
));

Мульти-запросы

$multi = new dHttp\Client();
$response_array = $multi->multi(array(
    new dHttp\Client('http://website1.com'),

    new dHttp\Client('http://website2.com', array(
        CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 5.1; rv:5.0.1) Gecko/20100101 Firefox/5.0.1',
        CURLOPT_TIMEOUT => 5,
    ))
));

foreach($response_array as $item) {
    var_dump($item->getCode());
}
Если будут вопросы обращайтесь. Буду рад если кому пригодиться.
Проект на Гитхаб: https://github.com/ARACOOOL/dHttp

Комментарии

Популярные сообщения из этого блога

strtolower() strtoupper() и кириллица

Dog-pile effect или блокировка в Memcached

Проблема обновления пакетов composer на Yii2