IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Lire l'URL après une redirection ?


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Lire l'URL après une redirection ?
    Bonjour,

    Voilà mon problème :

    Une URL disons http://www.url_initial.com est redirigé vers une autre URL http://www.final_url.com : comment en PHP à partir de la première URL découvrir la seconde ?

    Merci
    Victor

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 325
    Points
    16 325
    Par défaut
    Heu ... Parce qu'elle est écrite dans le code ? Parce qu'on te la transmise par voie électronique ? Parce que tu as décidé toi-même de l'URL finale ?

    J'avoue ne pas comprendre ce que tu souhaites faire.

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci pour ta réponse,

    Alors je vais réexpliquer ce que je veux faire : voilà dans mon code PHP j'ai une URL que je connais (disons http://www.url_initial.com), mais je sais que cette URL est automatiquement redirigé vers une autre URL que je ne connais pas ...

    Et donc comment dans un code PHP, à partir de ma première URL http://www.url_initial.com, découvrir et connaitre l'URL de redirection automatique ?

    c'est + clair ?

    Victor

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 325
    Points
    16 325
    Par défaut
    Ce qui m'échappe, c'est comment tu peux ne pas connaître cette URL, si elle est dans ton code ?


    Et sinon c'est comme pour tout, on peut savoir ce qui s'est passé, mais pas connaître le futur.

  5. #5
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Je connais la première URL mais je ne connais pas l'URL de redirection automatique car ce n'est pas moi qui gère cette redirection, c'est le site Web qui gère la première.

    Après c'est sûr que je ne peux pas prévoir mon url de redirection, mais j'aurais voulu voir si i y avait un truc ou une astuce en PHP pour pour aller à la deuxième URL à partir de la première et récupérer l'adresse complète de la seconde URL.
    Par exemple faire un fopen de la 1ère URL et après récupérer la string de l'adresse de l'url de redirection ? .....

    En fait je sais pas trop si c'est faisable

    En tout cas merci pour ton aide.

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    fopen (et plus généralement la fonctionnalité allow_url_fopen) gère parfaitement les redirections. Tout du moins, c'est le cas en PHP 5, puisqu'il existe une option de contexte pour le protocole HTTP (max_redirects).

    Sinon, d'une manière générale, il faut chercher au niveau de l'entête Location.

  7. #7
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    J'ai trouvé ma solution en utilisant CURL :

    En activant la redirection, dans les informations, on peut avoir l'URL finale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    			$ch = curl_init($init_url);
    			curl_setopt($ch, CURLOPT_HEADER, 1);
    			curl_setopt($ch, CURLOPT_MAXREDIRS, 2);
    			curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);			
    			$output = curl_exec($ch);      
     
    			$ret = curl_getinfo($ch);			
     
    			curl_close($ch);
    			echo $output;
    			print_r($ret);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. caractère parasite dans l'url après une méthode get
    Par michelg77 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 31/01/2012, 00h44
  2. Ne pas changer l'url dans une redirection de domaine
    Par Space23 dans le forum Domaines
    Réponses: 0
    Dernier message: 17/01/2010, 10h17
  3. récupérer les valeurs POST après une redirection
    Par mioke dans le forum Langage
    Réponses: 2
    Dernier message: 22/05/2008, 11h12
  4. Récupérer le tableau $_POST aprés une redirection
    Par tintin72 dans le forum Langage
    Réponses: 5
    Dernier message: 14/03/2008, 09h37
  5. Variables qui disparaissent aprés une redirection
    Par xclam dans le forum Langage
    Réponses: 2
    Dernier message: 22/09/2007, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo