- Publicado
Como hacer peticiones HTTP asíncronas en PHP
- Autor
Ejemplo para realizar llamasas HTTP asíncronas con curl_multi desde PHP
$nodes = array(
/* .... listado de urls a llamar asíncronamente ... */
);
$node_count = count($nodes);
$curl_arr = array();
$master = curl_multi_init();
for($i = 0; $i < $node_count; $i++)
{
$url =$nodes[$i];
$curl_arr[$i] = curl_init($url);
curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true);
curl_multi_add_handle($master, $curl_arr[$i]);
}
do {
curl_multi_exec($master,$running);
} while($running > 0);
for($i = 0; $i < $node_count; $i++)
{
$data = curl_multi_getcontent( $curl_arr[$i]);
/*
* Aqui procesamos las respuestas. Si fuera necesáreo.
*/
curl_multi_remove_handle($master, $curl_arr[$i]);
}
curl_multi_close($master);
Un saludo!!!