Version complète: sur le forum Webmaster Hub : Cherche script pour avoir l'URL finale suite à 1 redirection
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Scripts et utilitaires
silexian
bonjour,

je cherche une classe ou une librairie qui, à partir d'une URL de redirection, me permet d'obtenir le lien "final", que ce soit une redirection permanente (301) ou temporaire (302), ou autre.

un peu à la manière des Tools de WRI ou Webmaster-Hub qui proposent via leurs interfaces respectives d'obtenir les entêtes HTTP, et ce, jusqu'à 8 redirections successives.

Je n'arrive pas à trouver ça.

Merci
Anonymus
Pour avoir juste le premier header retourné, tu peux utiliser ceci :
CODE
<?php

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://www.google.com");
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($ch);
    curl_close($ch);

echo"<pre>";

echo substr($data,0,strpos($data,"\n\r"));

die("");


Pour avoir tous les headers, t'as 2 solutions :
Soit tu fais une boucle à partir de ce morceau de programme,
Soit tu récupères toute la page :
CODE
<?php

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://www.google.com");
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($ch);
    curl_close($ch);

echo"<pre>";

print_r($data);

die("");



Nico.
silexian
Nickel !

je vais essayer cette solution a_thumbsup_20.gif a_thumbsup_20.gif

Dis moi, j'ai cherché toute la journée sans trouver. Tu l'as trouvé comment toi ?
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.