Accueil du site > Scripts > Allongez vos URLs

Allongez vos URLs

jeudi 7 janvier 2010, par Fil

Toutes les versions de cet article : [English] [français]

Les URLs courtes sont une plaie du Web : elles cassent les liens, permettent à leurs promoteurs de surveiller la navigation des internautes, interdisent de savoir si on a déjà vu ou non tel ou tel article, n’offrent aucun indice sur leur destination.

Avec long.rezo.net, vous pouvez déréférencer ces URLs courtes, et obtenir l’adresse sur laquelle elles pointent.

PNG - 180.5 ko
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

  • Allongez vos URLs Le 7 janvier 2010 à 22:40 , par Beurt

    Comme toujours avec Fil, vite fait, bien fait et en prime et pour le même prix : c’est joli...

    Sans parler du fait que c’est utile... Alors : merci !

    • Allongez vos URLs Le 7 janvier 2010 à 22:47 , par Fil

      Utile est un bien grand mot ; pour la joliesse, c’est l’œuvre de mon complice baroug !

  • Allongez vos URLs Le 7 janvier 2010 à 22:46 , par Benjamin

    surtout que je te rappelle qu’on est censé quitter cette ip bientôt ;)

    en tout cas bravo, j’avais commencé à faire un plugin firefox de cette idée, mais n’étant pas assez chevronné en xul, j’ai laché l’affaire ... pas toi ;)

    • Allongez vos URLs Le 7 janvier 2010 à 22:50 , par Fil

      oups ! je change l’IP illico :-)

  • Allongez vos URLs Le 13 janvier 2010 à 14:02 , par JLuc

    A noter l’existant :
    - http://longurl.org/ avec bientôt une API.
    - http://www.longurlplease.com/ avec ndéjà une API,
    - le plugin pour Firefox : https://addons.mozilla.org/fr/firefox/addon/9549

    ++