Verificar sin un Enlace existe

pokmen Seguir

Gamma
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
Desde
18 Jul 2015
Mensajes
455
Hola amig@s,
Espero me puedan ayudarar con lo siguiente:

Supongamos que tengo una lista de enlaces dentro de un div con enlaces, y otro div para ejecutar el javascript:
HTML:
<div id="Links" class="Links">
<a href="">Link 1</a>
<a href="">Link 2</a>
<a href="">Link 3</a>
....
<a href="">Link n</a>
</div>

<div id="buttonCalculate" class="buttonCalculate">Botón Calcular</div>

Quisiera que al dar clic en el botón, este verifique los enlaces para saber si existen o no, en caso de existir que arroje un alert o cambie de color.

Pdt:
Si alguien sabe hacerlo y considera que le debo de pagar para que lo haga, envíenme un privado para crear el tema en la sección de negocios.

Saludos.
 

zahoribello

Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
4 Sep 2018
Mensajes
315
Hola pokmen, espero te encuentres bien. Sobre tu consulta en PHP existe la función CURL, para saber si existe o no un url. que puede ser implementada de esta manera:
PHP:
        function validar_url($url) 
	{
		if(!filter_var($url, FILTER_VALIDATE_URL) === false)
		{
			$this->_CURL = curl_init($url);
		 
			curl_setopt($this->_CURL, CURLOPT_TIMEOUT, 5);
			curl_setopt($this->_CURL, CURLOPT_CONNECTTIMEOUT, 5);
			curl_setopt($this->_CURL, CURLOPT_NOBODY, true);
			curl_setopt($this->_CURL, CURLOPT_FOLLOWLOCATION, true);
			curl_setopt($this->_CURL, CURLOPT_RETURNTRANSFER, true);
			$result = curl_exec($this->_CURL);
			if($result === false){  
				return array("validar" => false,"type_msj" => "danger","msj" => curl_error($this->_CURL));
			}  
			$httpcode = curl_getinfo($this->_CURL, CURLINFO_HTTP_CODE);
			$content_type = curl_getinfo($this->_CURL, CURLINFO_CONTENT_TYPE);
			curl_close($this->_CURL);

			#$accepted_response = array(200,301,302);
			$accepted_response = array(200);

			if(in_array($httpcode, $accepted_response)) 
			{
				return array("validar" => true,"type_msj" => "success","msj" => "Felicitaciones! url ingresada existe.","row" => $content_type);
			}else 
			{
				return array("validar" => false,"type_msj" => "danger","msj" => "Error! url ingresada no existe.");
			}
		}else
		{
			return array("validar" => false,"type_msj" => "danger","msj" => "Error! url ingresada no es valida.");
		}
	}

Si quieres adaptarlo a Jquey o JavaScript nativo puedes usar ajax, mandas la consultal documento php con ajax y recibes la repuesta del mismo para luego interpretar y direccionar los mensajes que quieres aplicar. Espero te ayude mi respuesta
 

Adrián Freecss

Eta
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
27 Ene 2014
Mensajes
1.478
Se usa PHP, como te mencionar, con AJAX.

Insertar CODE, HTML o PHP:
//Código #1
function url_existe($url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); 
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_1 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) FxiOS/10.4b8288 Mobile/15C153 Safari/604.4.7");
curl_setopt($ch, CURLOPT_REFERER, 'http://facebook.com');
curl_exec($ch);
$retcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $retcode != 404 ? true : false;
}
//CODIGO #2
function url_existe($url){
return(bool)preg_match('~HTTP/1\.\d\s+200\s+OK~', @current(get_headers($url)));
}

El truco es leer la cabecera y ver que retorne un valor de 200.
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba