Top 7: Las mejores wrappers de cURL para PHP

Top 7: Las mejores wrappers de cURL para PHP

Cuando hablamos de bibliotecas de clientes HTTP para acceder a las API web en PHP, Guzzle y Unirest son los reyes, sin embargo, a veces, según el tamaño o la importancia de su proyecto, no necesita una biblioteca de este tipo, sino solo cURL. El punto es que trabajar con cURL con la sintaxis predeterminada puede resultar tedioso, por lo que es posible que desee utilizar un contenedor que simplifique muchas tareas y facilite la ejecución de solicitudes. En esta parte superior, queremos compartir contigo 7 de las mejores bibliotecas de envoltorios disponibles para cURL en la web.

7. Curl por dcai

Este contenedor ofrece una capa de abstracción que simplifica la sintaxis de la biblioteca 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 = '<action>perform</action>';
$response = $http->post('http://example.com/', $xml);
// HTTP PUT
$response = $http->put('http://example.com/', array('file'=>'/var/www/test.txt');

6. CurlWrapper

CurlWrapper es una clase contenedora flexible para la extensión PHP cURL. Puede inicializar fácilmente una instancia de la biblioteca con:

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

El objeto CurlWrapper admite 5 tipos de solicitudes: HEAD, GET, POST, PUT y DELETE. Debe especificar una URL para solicitar y, opcionalmente, especificar una matriz asociativa o una cadena de consulta de variables para enviar junto con ella:

$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. Rolling cURLx

Rolling Curl es un contenedor cURL Multi fácil de usar para PHP con un nombre genial. Su objetivo es hacer que las solicitudes http concurrentes en PHP sean lo más fáciles posible. Primero inicialice la clase con el número máximo de solicitudes simultáneas que desea abrir a la vez:

$RCX = new RollingCurlX(10);

Todas las solicitudes posteriores a esto se pondrán en cola hasta que una se complete:

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

Envíe las solicitudes. Bloquea hasta que todas las solicitudes se completen o se agote el tiempo de espera:

$RCX->execute();

4. PHP Curl

PHP Curl es una clase contenedora PHP curl muy simple para cURL. Según el autor, esta clase es el contenedor OOP más pequeño posible para las capacidades de curl de PHP. Tenga en cuenta que esto no pretende ser una abstracción de alto nivel. Aún debe saber cómo funciona el curl "PHP puro", necesita conocer las opciones de curl para configurar y necesita conocer algunos conceptos básicos de HTTP. Su sintaxis es amigable para los desarrolladores:

// 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 es un contenedor para la extensión cURL de PHP. Admite solicitudes paralelas y sin bloqueo. Esta es una biblioteca pequeña pero poderosa y robusta que acelera las cosas. Si está cansado de usar la extensión PHP cURL con su interfaz de procedimiento, pero también desea mantener el control sobre la ejecución del script, es una excelente opción para usted. Esta biblioteca:

  • ampliamente probado en unidades.
  • biblioteca ligera con interfaz de nivel moderado. No es una biblioteca todo en uno.
  • Conexiones paralelas / asincrónicas con interfaz muy simple.
  • adjuntar / separar solicitudes en paralelo en tiempo de ejecución!
  • soporte para devoluciones de llamada, para que pueda controlar el proceso de ejecución.
  • establecedores inteligentes como alternativa a las constantes CURLOPT_ *.
  • si conoce la extensión cURL php, no tiene que aprender cosas desde el principio

Su sintaxis también es bastante fácil de entender:

<?php
// We will check current Bitcoin price via API.
$request = new \cURL\Request('https://bitpay.com/rates/USD');
$request->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 by Shuber

La biblioteca Curl es un contenedor CURL básico para PHP. El objeto Curl admite 5 tipos de solicitudes: HEAD, GET, POST, PUT y DELETE. Debe especificar una URL para solicitar y, opcionalmente, especificar una matriz asociativa o una cadena de variables para enviar junto con ella. Simplemente requiera e inicialice la clase Curl así:

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 es un contenedor de cURL muy bien escrito que hace que sea realmente fácil enviar solicitudes HTTP e integrarse con cualquier tipo de API web. PHP Curl Class funciona con PHP 5.3, 5.4, 5.5, 5.6, 7.0, 7.1 y HHVM. Esta biblioteca es ampliamente conocida y ofrece una sintaxis realmente sencilla:

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

Si conoce otra biblioteca de envoltura increíble para la extensión cURL escrita en PHP, compártala con la comunidad en el cuadro de comentarios.

Esto podria interesarte

Conviertete en un programador más sociable