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 4005 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 261 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Amal dans tuto

pour moi j'ai créé une liste déroulante en liaisant avec la base de donnée déja existant mais la valeur sélectionné ne peut pas etre afficher jamais et...

Publié par Fobec dans tuto

En fait, une page index est construite de la même manière que l'exemple test.php.

Publié par Fobec dans java

Bonjour Steev,
un player plus complet est dispo ici: http://www.fobec.com/java/1106/wav-player-avec-bouton-stop-barre-progression.html

Publié par deefaze dans CMS

R := Byte(Color);
G := Byte(Color shr 8);
B := Byte(Color shr 16);

Publié par hilflo dans tuto

Pour Romaingineer, essaye d'aller voir dans le fichier functions.php dans ton theme, tu dois avoir des functions wp_enqueue_style ou wp_enqueue_script, c'est la que tu pourras faire des modifs