Saltar al contenido
Codifíca.me | Desarrollo web | Programación
Php

Chequear url links con curl PHP

16 agosto, 2015

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);
		}
	}
}

titulos xenu