Blogs Media: CSS Mania | VivirLatino | Sentido Web | Apps Mania

Publicidad

Mié30Jul2008

Conexiones en paralelo con cURL

11:15 H (CET)| Temas: PHP

Para aquellos que necesiten conexiones múltiples con cURL para acceder a varias web, este ejemplo es un buen comienzo:

<?php
// Create two cURL handlers
$ch1 = curl_init(); $ch2 = curl_init();
 
// Set options on both
curl_setopt($ch1, CURLOPT_URL, "http://example.com/");
curl_setopt($ch2, CURLOPT_URL, "http://example2.com/");
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
 
$mh = curl_multi_init();
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);
 
$running=null;
do {
    curl_multi_exec($mh,$running);
} while ($running > 0);
 
$data1 = curl_multi_getcontent($ch1);
$data2 = curl_multi_getcontent($ch2);
 
curl_multi_remove_handle($ch1);
curl_multi_remove_handle($ch2);
curl_multi_close($mh);
?>

Se trata de usar en vez de curl_init usar curl_multi_init y sus funciones asociadas.

Parallel web scraping in PHP: cURL multi functions

Vía / dzone

Relacionados

1. Christian ~ Miércoles, 30 Jul 2008 | 11:34H:

:)

2. Fermin ~ Viernes, 01 Ago 2008 | 08:03H:

Gracias por esto ;) esta buscando algo parecido y la solucion que plantee es ejecutar peticiones con links ^_^ algo mas enrevesado.

Voy a probar lo que has puesto a ver que tal funciona, por cierto hay error en el codigo:
La funcion curl_multi_remove_handle($ch2); recibe dos parametros:
curl_multi_remove_handle($mh, $ch[$i]);

Saludos y gracias