martes, 7 de diciembre de 2010

Convertir URL largas en URL cortas a través de http://tinyurl.com

A veces tenemos obtenemos URL extremadamente grandes pues contienen una gran cantidad de parámetros. Estas URL son bien complicadas de recordar y además se ven bien feas. Ya en el artículo dedicado a URL amigable se vio una solución para hacer más legibles las URL.
Sin embargo hay ocasiones en las que se tienen URL de sitios externos y no podemos modificar dicha URL pues evidentemente no tenemos acceso dicho servidor, no somos los propietarios, por lo que para convertir una URL externa en una URL amigable , tenemos que descartar toda posibilidad explicada en el artículo dedicado URL amigables cambiando el archivo de configuración .htaccess.


La solución está en este servicio brindado por la web: http://tinyurl.com
Esta web permite construir una URL de unos 26 caracteres (bien pequeña) que re-direcciona hacia la URL deseada.
Si deseas convertir una URL de forma manual solo debes ir a: http://tinyurl.com , escribe la URL en el campo donde dice: “Enter a long URL to make tiny: picha el botón: "Make TinyURL" y verás como te construye una URL bien pequeña.

Al convertí la URL de la web: http://moises-soft.com , lo que se obtiene es lo siguiente: http://tinyurl.com/2a9smnd , claro que este ejemplo no es válido pues esa URL inicial no tan grande, de hecho es más pequeña que la resultante. De modo que si pinchamos en http://tinyurl.com/2a9smnd , estemos yendo a http://moises-soft.com.


Que sucede si queremos hacer esta conversión automática para luego almacenar las URL pequeñas que nos devuelve tinyurl.com.
A continuación el código PHP que podemos utilizar para convertir una URL larga en pequeña:


function tinyUrl($url){
$tiny = "http://tinyurl.com/api-create.php?url=". urlencode(trim($url);
return file_get_contents($tiny));
}



Si no está disponible la función file_get_contents , entonces puedes usar la siguiente función:


function tinyUrl($url){
$tiny = "http://tinyurl.com/api-create.php?url=" . urlencode(trim($url));
$tinyhandle = fopen($tiny, "r");
$tinyurl = fread($tinyhandle, 26);
fclose($tinyhandle);
return $tinyurl;
}

Existen muchos sitios de internet que usan este sistema para almacenar URL , sobre todo las redes sociales. Así que cuando veas una URL parecida a esta: http://tinyurl.com/2a9smnd , ya sabes que al pichar en ella puedes a cualquier sitio web incluyendo el tuyo, pues estas URL siempre tienen la misma longitud (Al menos por ahora)

No hay comentarios:

Publicar un comentario