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
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
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.
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
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.
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.
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.
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);
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager