Función super interesante que encontré y utilicé para comprobar que las urls estaban bien y devolvian un ok! antes de empezar a scrapear el contenido de la web.
La función la dejo aquí para tenerla en algún sitio organizada 🙂 espero que os sea útil.
Viene muy bien para chequear múltiples urls “rapidamente”.
function url_validate($link) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $link); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); //aumentar el tiempo puede sobrecargar el uso del servidor curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_MAXREDIRS, 3); //numero de redirecciones que va a seguir $data = curl_exec($ch); curl_close($ch); preg_match_all("/HTTP\/1\.[1|0]\s(\d{3})/",$data,$matches); $code = end($matches[1]); if(!$data) { return(false); } else { if($code==200) { return(true); } elseif($code==404) { return(false); } } } |