Algo mais rápido que get_headers ()
Estou tentando criar um script PHP que verifique o status HTTP de um site o mais rápido possíve
Atualmente, estou usando get_headers () e executando-o em um loop de 200 URLs aleatórios do banco de dados mysq
Para verificar todos os 200 - são necessários em média 2m 48s.
Existe algo que eu possa fazer para torná-lo (muito) mais rápido?
(Eu sei sobre o fsockopen - ele pode verificar a porta 80 em 200 sites em 20s - mas não é o mesmo que solicitar o código de status http porque o servidor pode responder na porta - mas pode não estar carregando os sites corretamente etc
Aqui está o código ..
<?php
function get_httpcode($url) {
$headers = get_headers($url, 0);
// Return http status code
return substr($headers[0], 9, 3);
}
###
## Grab task and execute it
###
// Loop through task
while($data = mysql_fetch_assoc($sql)):
$result = get_httpcode('http://'.$data['url']);
echo $data['url'].' = '.$result.'<br/>';
endwhile;
?>