Glougloute |
Le 04/01/2008 à 15:32 |
|
 I love VIC |
Bonjour, J'aimerais récupérer le contenu d'une page. Jusqu'ici, tout va bien. Mais cette page doit avoir une redirection avec un header. J'aimerais pouvoir prendre l'url de cette page. Avez-vous une idée comment je pourrais procéder ? Voici mon bout de code pour récupérer le contenu d'une page :
$chemin_fichier = 'http://www.google.Fr';
$fp=@fopen($chemin_fichier,"r");
$contenu = '';
if($fp) {
while(!feof($fp)){
$contenu .= fgets($fp,1024);
}
echo $contenu;
?>
-- Je vous aiderai dans la mesure du possible ;) |
Anthony |
Le 05/01/2008 à 12:22 |
|
 Admin |
Salut Glougloute  Un exemple :
<?php
$contenu = '';
$resultats = array();
if(is_resource($fp = @fsockopen('www.vulgarisation-informatique.com', 80)))
{
$out = 'GET / HTTP/1.1'."\r\n";
$out .= 'Host: vulgarisation-informatique.com'."\r\n";
$out .= 'Connection: Close'."\r\n\r\n";
fwrite($fp, $out);
while(!feof($fp))
{
$ligne = fgets($fp,1024);
if(trim($ligne) !== '')
{
$contenu .= $ligne;
}
else
{
break;
}
}
if(preg_match('`Location: (.*)`i', $contenu, $resultats) === 1)
{
echo 'URL de destination : ',$resultats[1];
}
//echo '<br />Liste complète des headers : ',$contenu;
}
?>
Hop ;) -- 
|
Glougloute |
Le 05/01/2008 à 20:13 |
|
 I love VIC |
Merci beaucoup ! Ce script fonctionne à merveille quand j'essaye avec l'url de ton site. J'ai essayé avec ça : http://www.dailymotion.com/swf/x3wpqnSi on essaye avec son navigateur, on est redirigé vers une autre url. Le script php que tu viens d'écrire ne permet pas de lire les headers de cette page. J'aimerais vraiment pouvoir récupérer l'url qui est écrire dans le navigateur... -- Je vous aiderai dans la mesure du possible ;) |
Anthony |
Le 05/01/2008 à 20:42 |
|
 Admin |
C'est normal, un simple copier/coller ne fonctionne pas, il faut lire un peu la doc du protocole HTTP ... 
<?php
$contenu = '';
$resultats = array();
if(is_resource($fp = fsockopen('www.dailymotion.com', 80)))
{
$out = 'GET /swf/x3wpqn HTTP/1.1'."\r\n";
$out .= 'Host: www.dailymotion.com'."\r\n";
$out .= 'Connection: Close'."\r\n\r\n";
fwrite($fp, $out);
while(!feof($fp))
{
$ligne = fgets($fp,1024);
if(trim($ligne) !== '')
{
$contenu .= $ligne;
}
else
{
break;
}
}
if(preg_match('`Location: (.*)`i', $contenu, $resultats) === 1)
{
echo 'URL de destination : '.$resultats[1];
}
//echo '<br />Liste complète des headers : ',$contenu;
}
?>
-- 
|
Glougloute |
Le 05/01/2008 à 21:24 |
|
 I love VIC |
Nickel :) T'es un génie ! -- Je vous aiderai dans la mesure du possible ;) |