Avec long.rezo.net, vous pouvez déréférencer ces URLs courtes, et obtenir l’adresse sur laquelle elles pointent.
- Photo d’écran du service long.rezo.net
Dans la case « short url » entrez votre adresse courte, le site vous indiquera vers quelle destination elle pointe, avec un lien vers cette page.
Bonus : une vérification de cette adresse sur le site delicious.com vous indique le titre et les éventuels tags associés à cette page.
Principe
Le script qui permet de déréférencer une URL courte est une simple application du protocole HTTP : on appelle l’adresse courte, et si elle envoie un entête de redirection Location: xxxx
, on récupère cette nouvelle adresse.
En PHP cela donne :
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$a = curl_exec($ch);
if(preg_match('#Location: (.*)#', $a, $r))
$l = trim($r[1]);
Aller plus loin
J’ai cherché une méthode pour aller plus loin, car copier-coller l’adresse courte sur le site long.rezo.net n’est pas très pratique. Pour le faire de manière systématique, j’ai bricolé un peu la configuration de mon ordinateur.
Dans le fichier HOSTS
(aide) j’ai ajouté la ligne :
Dès lors, mes appels vers le site de ces réducteurs d’URLs sont redirigés vers mon serveur à l’adresse IP 193.56.58.14
, sur lequel j’ai configuré très simplement un mécanisme qui intercepte les URLs courtes et fait proxy pour le reste.
Voici la configuration d’apache pour ces services :
Certes un peu lourde à mettre en œuvre, la méthode me permet dès lors que je clique un lien court n’importe où — dans mon mail, dans mon client twitter, etc. — d’en obtenir la version de long.rezo.net.
Vous pouvez utiliser si vous le souhaitez utiliser 193.56.58.14
pour vos tests, mais je vous encourage à installer votre propre proxy, car mon système reste largement expérimental pour le moment.
Si vous avez une meilleure idée pour faire cela, n’hésitez pas à l’indiquer dans le forum ci-dessous !
5 Messages de forum