par
energie13 » 03 nov. 2009, 10:02
Bonjour
Je voulais savoir si vous auriez une piste pour effectuer plusieurs requetes simultanées avec CURL mais en limitant les requetes simultanées par une variable X afin de ne pas surcharger le serveur.
Je fournis une liste de test a effectuer. Pour chaque test, le script doit se connecter a plusieurs pages en curl et extraire certains contenus via des pregmatch afin de les stocker dans un tableau. Tout fonctionne cependant c'est assez long. J'aimerai savoir si qqn pouvait me donner une piste sur les requetes simultanées, j'ai trouvé qqes pistes sur le net mais c'est assez flou pour moi

je suis un peu perdu et je ne sais pas non plus comment limiter le nombre de requete simultanées.
Code : Tout sélectionner
echo $tableauHeader;
#----------------------------------------------------
# Boucle de test pour $nb
for($nb = 0; $nb != $nombre_total; $nb++)
{
////////////////////////////////:
$ch = curl_init($url1);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'task='.$post_1.'&ok='.$donnees_recherche[$nb].'&mac_addr=&ip=&login');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_COOKIE, 'di='.$cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$ret = curl_exec($ch);
//traitement de la page et récupération des valeurs
//print ($ret);
#----------------------------------------------------
$ch = curl_init('$url2');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_COOKIE, 'di='.$cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$ret = curl_exec($ch);
preg_match_all('#id="id" value="(.+)"#', $ret, $rep_1s);
$rep = $rep_1s[1][0];
//traitement de la page et récupération des valeurs
echo "
<TR class=\"data\">
<TH>".$donnees_recherche[$nb]."</TH>
<TH>".$statut1."</TH>
<TH>".$chaineDec."</TH>
<TH>".$numChaineDec."</TH>
<TH>".$statut2."</TH>
</TR>
";
}
echo $tableauFooter; // Balise de fin
Je vous remercie par avance.
Bonjour
Je voulais savoir si vous auriez une piste pour effectuer plusieurs requetes simultanées avec CURL mais en limitant les requetes simultanées par une variable X afin de ne pas surcharger le serveur.
Je fournis une liste de test a effectuer. Pour chaque test, le script doit se connecter a plusieurs pages en curl et extraire certains contenus via des pregmatch afin de les stocker dans un tableau. Tout fonctionne cependant c'est assez long. J'aimerai savoir si qqn pouvait me donner une piste sur les requetes simultanées, j'ai trouvé qqes pistes sur le net mais c'est assez flou pour moi :( je suis un peu perdu et je ne sais pas non plus comment limiter le nombre de requete simultanées.
[code]
echo $tableauHeader;
#----------------------------------------------------
# Boucle de test pour $nb
for($nb = 0; $nb != $nombre_total; $nb++)
{
////////////////////////////////:
$ch = curl_init($url1);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'task='.$post_1.'&ok='.$donnees_recherche[$nb].'&mac_addr=&ip=&login');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_COOKIE, 'di='.$cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$ret = curl_exec($ch);
//traitement de la page et récupération des valeurs
//print ($ret);
#----------------------------------------------------
$ch = curl_init('$url2');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_COOKIE, 'di='.$cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$ret = curl_exec($ch);
preg_match_all('#id="id" value="(.+)"#', $ret, $rep_1s);
$rep = $rep_1s[1][0];
//traitement de la page et récupération des valeurs
echo "
<TR class=\"data\">
<TH>".$donnees_recherche[$nb]."</TH>
<TH>".$statut1."</TH>
<TH>".$chaineDec."</TH>
<TH>".$numChaineDec."</TH>
<TH>".$statut2."</TH>
</TR>
";
}
echo $tableauFooter; // Balise de fin
[/code]
Je vous remercie par avance.