Top 7: лучшие библиотеки Curl Wrapper для PHP

Когда мы говорим о клиентских библиотеках HTTP для доступа к веб-API в PHP, пропивать а также Unirest являются королями, однако иногда, в зависимости от размера или важности вашего проекта, вам не нужна такая библиотека, а только cURL. Дело в том, что cURL с синтаксисом по умолчанию может стать утомительным для работы, поэтому вы можете использовать оболочку, которая упрощает многие задачи и облегчает выполнение запросов. В этом топе мы хотим поделиться с вами 7 лучшими библиотеками-обертками, доступными для cURL в сети.

7. Керл от dcai

Эта оболочка предлагает уровень абстракции, который упрощает синтаксис библиотеки PHP cURL:

$http = new dcai\curl;
// enable cache
$http = new dcai\curl(array('cache'=>true));
// enable cookie
$http = new dcai\curl(array('cookie'=>true));
// enable proxy
$http = new dcai\curl(array('proxy'=>true));
// HTTP GET
$response = $http->get('http://example.com');
// HTTP POST
$response = $http->post('http://example.com/', array('q'=>'words', 'name'=>'moodle'));
// POST RAW
$xml = 'perform';
$response = $http->post('http://example.com/', $xml);
// HTTP PUT
$response = $http->put('http://example.com/', array('file'=>'/var/www/test.txt');

6. CurlWrapper

CurlWrapper — это гибкий класс-оболочка для расширения PHP cURL. Вы можете легко инициализировать экземпляр библиотеки с помощью:

try {
$curl = new CurlWrapper();
} catch (CurlWrapperException $e) {
echo $e->getMessage();
}

Объект CurlWrapper поддерживает 5 типов запросов: HEAD, GET, POST, PUT и DELETE. Вы должны указать URL-адрес для запроса и при желании указать ассоциативный массив или строку запроса переменных для отправки вместе с ним:

$response = $curl->head($url, $params);
$response = $curl->get($url, $params);
$response = $curl->post($url, $params);
$response = $curl->put($url, $params);
$response = $curl->delete($url, $params);

5. Роллинг cURLx

Rolling Curl — это простая в использовании оболочка cURL Multi для PHP с очень интересным названием. Он направлен на то, чтобы сделать одновременные запросы HTTP в PHP как можно проще. Сначала инициализируйте класс максимальным количеством одновременных запросов, которые вы хотите открыть одновременно:

$RCX = new RollingCurlX(10);

Все запросы после этого будут поставлены в очередь до тех пор, пока не завершится

$url = 'http://www.google.com/search?q=apples';
$post_data = ['user' => 'bob', 'token' => 'dQw4w9WgXcQ']; //set to NULL if not using POST
$user_data = ['foo', $whatever];
$options = [CURLOPT_FOLLOWLOCATION => false];
function callback_functn($response, $url, $request_info, $user_data, $time) {
$time; //how long the request took in milliseconds (float)
$request_info; //array returned by curl_getinfo($ch), plus a couple extras
}
$RCX->addRequest($url, $post_data, 'callback_functn', $user_data, $options, $headers);

Отправьте запросы. Блокирует до тех пор, пока не завершатся все запросы или не истечет время ожидания:

$RCX->execute();

4. PHP Curl

PHP Curl — это очень простой класс-оболочка PHP curl для cURL. По мнению автора, этот класс является наименьшей из возможных ООП-оболочек для возможностей PHP-curl. Обратите внимание, что это не подразумевается как абстракция высокого уровня. Вы все еще должны знать, как работает curl «на чистом PHP», вам нужно знать параметры curl, которые нужно установить, и вам нужно знать некоторые основы HTTP. Синтаксис удобен для разработчиков:

// newRequest, newJsonRequest and newRawRequest returns a Request object
$request = $curl->newRequest('post', $url, ['foo' => 'bar'])
->setHeader('Accept-Charset', 'utf-8')
->setHeader('Accept-Language', 'en-US')
->setOption(CURLOPT_CAINFO, '/path/to/cert')
->setOption(CURLOPT_FOLLOWLOCATION, true);
$response = $request->send();

3. Curl Easy

Curl Easy — это оболочка для расширения cURL в PHP. Поддерживает параллельные и неблокирующие запросы. Это небольшая, но мощная и надежная библиотека, которая ускоряет работу. Если вы устали от использования расширения PHP cURL с его процедурным интерфейсом, но хотите также контролировать выполнение скриптов, это отличный выбор для вас. Эта библиотека:

  • широко протестирован.
  • легкая библиотека с интерфейсом среднего уровня. Это не универсальная библиотека.
  • параллельные / асинхронные соединения с очень простым интерфейсом.
  • параллельное подключение / отключение запросов во время выполнения!
  • поддержка обратных вызовов, так что вы можете контролировать процесс выполнения.
  • интеллектуальные сеттеры как альтернатива константам CURLOPT_ *.
  • если вы знаете расширение cURL php, вам не нужно изучать вещи с самого начала

Его синтаксис довольно прост для понимания:

getOptions()
->set(CURLOPT_TIMEOUT, 5)
->set(CURLOPT_RETURNTRANSFER, true);
$response = $request->send();
$feed = json_decode($response->getContent(), true);
echo "Current Bitcoin price: " . $feed['data']['rate'] . " " . $feed['data']['code'] . "\n";

2. Керл Шубер

Библиотека Curl — это базовая оболочка CURL для PHP. Объект Curl поддерживает 5 типов запросов: HEAD, GET, POST, PUT и DELETE. Вы должны указать URL-адрес для запроса и при желании указать ассоциативный массив или строку переменных для отправки вместе с ним. Просто потребуйте и инициализируйте класс Curl следующим образом:

require_once 'curl.php';
$curl = new Curl;
$response = $curl->head($url, $vars = array());
$response = $curl->get($url, $vars = array()); # The Curl object will append the array of $vars to the $url as a query string
$response = $curl->post($url, $vars = array());
$response = $curl->put($url, $vars = array());
$response = $curl->delete($url, $vars = array());

1. PHP Curl Class

PHP Curl Class — это очень хорошо написанная оболочка cURL, которая позволяет действительно легко отправлять HTTP-запросы и интегрироваться с любым видом веб-API. PHP Curl Class работает с PHP 5.3, 5.4, 5.5, 5.6, 7.0, 7.1 и HHVM. Эта библиотека широко известна и предлагает очень простой синтаксис:

require __DIR__ . '/vendor/autoload.php';
use \Curl\Curl;
$curl = new Curl();
$curl->get('https://www.example.com/');
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
} else {
echo 'Response:' . "\n";
var_dump($curl->response);
}

Если вам известна еще одна замечательная библиотека-обертка для расширения cURL, написанная на PHP, пожалуйста, поделитесь ею с сообществом в поле для комментариев.

Ссылка на основную публикацию
Adblock
detector