ParallelCurl, una librería para hacer peticiones simultáneas vía Curl

ParallelCurl es una librería que nos permitirá la ejecución de llamadas vía Curl de forma simultánea y de una forma sencilla.

Hasta ahora, cuando hacíamos una petición Curl, utilizábamos el método sencillo, pero cuando queríamos hacer varías llamadas de este tipo, debíamos de utilizar las funciones :

curl_multi_init();
curl_multi_add_handle();
curl_multi_select();
curl_multi_exec();
curl_multi_getcontent();
curl_multi_info_read();
curl_multi_remove_handle();

Con esta librería, nos ahorramos problemas a la vez que simplificamos esta situación. Solo hace falta crearnos una instancia de la clase, a la que le pasaremos el número máximo de respuestas y un array de opciones, y ya podremos utilizarlo para hacer peticiones simultáneas.

Un ejemplo de funcionamiento:

require_once('parallelcurl.php');
 
$url1 = 'http://www.example.com/');
$url2 = 'http://www.example.com/');
$url3 = 'http://www.example.com/');
 
// This function gets called back for each request that completes
function on_request_done($content, $url, $ch, $search) {
...
}
 
$max_requests = 10;
 
$curl_options = array(
    CURLOPT_SSL_VERIFYPEER => FALSE,
    CURLOPT_SSL_VERIFYHOST => FALSE
);
 
$parallel_curl = new ParallelCurl($max_requests, $curl_options);
 
// 3 peticiones en paralelo que empiezan simultaneamente
$parallel_curl->startRequest($url1, 'on_request_done');
$parallel_curl->startRequest($url2, 'on_request_done');
$parallel_curl->startRequest($url3, 'on_request_done');
 
$parallel_curl->finishAllRequests();

Vía: codediesel.com
COMPARTE ESTA NOTICIA

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP