Publié le 22/11/2010
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
1 commentaires

Trouver l'URL d'origine d'un lien TinyURL

Lancé en 2002, TinyURL est un outil utilisé sur le web pour afficher des url courtes. Par exemple, l'adresse http://www.fobec.com/ peut s'écrire http://tinyurl.com/3xk4g8a en utilisant le service tinyurl.
A quoi ça sert ? a priori, les 2 raisons sont : la réduction du nombre de caractère (cf tweet) et le fait de masquer l'url réelle lorsque l'on affiche un lien.

Class PHP TinyUrl

La class TinyurlRevealer décode un lien TinyUrl pour afficher l'adresse réel. Une requête HEAD est envoyée au serveur pour connaitre l'url de redirection.
<?php
 
/**
 * Découvrir l'URL derrière un lien TinyUrl
 */
class TinyurlRevealer {
 
    public static function decode($url) {
        $urls = parse_url($url);
        $param = $urls['path'];
 
        $fp = fsockopen("tinyurl.com", 80);
        if (!$fp) {
            return "";
        } else {
            $buf = "";
            fputs($fp, "HEAD " . $param . " HTTP/1.0\r\nHost: tinyurl.com\r\n\r\n");
            while (!feof($fp)) {
                $buf.= fgets($fp, 128);
            }
            fclose($fp);
            //Cherche la redirection vers l'URL réel
            $lines = explode("n", $buf);
            foreach ($lines as $line) {
                if (strpos($line, 'Location') !== false) {
                    return substr($line, 10);
                }
            }
            return '';
        }
    }
}
?>

Décoder une URL raccourcie

Quelle URL se cache derrière http://tinyurl.com/3xf5cyp
Pour connaitre l'adresse du site, il faudrait cliquer sur l'url pour ensuite voir l'url d'origine dans le navigateur internet. Le bout de code permet d'extraire directement l'adresse source sans passer par le navigateur. L'astuce consiste à repérer la redirection 301 puis d'extraire la nouvelle URL indiquée dans le paramètre location.
<php
/**
 * Exemple
 */
echo TinyurlRevealer::decode('http://tinyurl.com/3xf5cyp');
//Resultat: http://www.fobec.com
?>

Depuis de nombreux services ont été lancés que l'on retrouve notamment sur Twitter. La manière de décoder une url raccourci marche également pour découvrir l'adresse internet d'origine sans passer par le navigateur.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.
avatar options binaires

Publié par options binaires

le 23/01/2012 à 16:52:36

genial l'outil ! merci

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
php5 - class
Mise a jour
22/11/2010
Visualisation
vu 5476 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Fobec dans tuto

Bonjour,

Sur Fobec.com, nous utilisons mod_expires.c pour envoyer automatiquement un code 304 au navigateur internet.
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType im...

Publié par fobec dans CMS

faire le menage !!!!

Publié par Fobec dans php5

Bonjour,
vous pouvez poster un message sur le forum, la communaut vous donnera un coup de main pour la mise en place du script.

Publié par OmegaPlatypus dans java

Dans mon cas, plusieurs lettres etaient repetes plusieurs fois, dont la derniere a l'indfiniment. En ajoutant robot.keyReleaseKeyEvent.VK_A, robot.keyReleaseKeyEvent.VK_X, etc. apres chacune des frap...

Publié par bob le poisson dans java

Bonjour, votre script est tres bien mais attention l'utilisation du mot cle static sur la methode scale(BufferedImage bImage, double factor) est inutile et empeche de liberer la ressource.