Pb import d'une page externe (fopen sur Ebay)

Pb import d'une page externe (fopen sur Ebay) - PHP - Programmation

Marsh Posté le 09-09-2005 à 09:53:00    

Je veux lire une page web du site ebay (par exemple). Pour certaines pages, pas de probleme, mais pour d'autres, j'ai une erreur sur le fopen.  
Pourtant, on peut y acceder, avec firefox, saisissant l'url directe.  
Pourquoi ?  
Ci dessous, mon script :  
 
//---------- là, ça marche ----------
$url = "http://cgi.ebay.fr/ws/eBayISAPI.dll?ViewItem&item=5612099373";
$fp = fopen("$url","r" ); //lecture du fichier
while (!feof($fp)) : //on parcourt toutes les lignes
  $ligne = fgets($fp, 4096); // lecture du contenu de la ligne
  echo $ligne;
endwhile ;
fclose($fp);
 
//---------- là, ça ne marche pas ----------
$url ="http://timbres.search-completed.ebay.fr/_Communaute-francaise-neufs_W0QQcatrefZC3QQcatrefZC6QQfisZ2QQfromZR2QQfsooZ1QQfsopZ1QQftrtZ1QQftrvZ1QQga10244Z10425QQsacatZ68002QQsofocusZso";
$fp = fopen("$url","r" ); //lecture du fichier
while (!feof($fp)) : //on parcourt toutes les lignes
  $ligne = fgets($fp, 4096); // lecture du contenu de la ligne
  echo $ligne;
endwhile ;
fclose($fp);


Message édité par cycluba le 09-09-2005 à 19:23:17
Reply

Marsh Posté le 09-09-2005 à 09:53:00   

Reply

Marsh Posté le 09-09-2005 à 10:34:03    

par ce que le fopen ne recoit pas un fichier mais un signal de redirection vers une autre adresse.
Si tu testes dans ton navigateur, tu véras que l'adresse affiché quand ca t'affiche une page n'est pas celle que t'as saisie.

Reply

Marsh Posté le 09-09-2005 à 13:04:23    

Omega2, merci de ta reponse, mais elle semble fausse. Fais l'essai, l'adresse affichée reste la meme.
 
Par contre, il semble qu'il faille etre logué sur ebay pour acceder à ce genre de page. Une fois logué,, je peux y acceder via firefox ou ie, mais pas par script php.  
C'est comme s'il fallait "montrer patte blanche"...
Peut-être faut-il faire croire au serveur que la requete provient d'un navigateur. Comment faire ?  

Reply

Marsh Posté le 09-09-2005 à 13:49:59    

ha, c'est peut être ça alros, j'étais pas logué donc redirection vers une autre page.
Ben s'il faut être loggué, il faut pas utiliser fopen mais directement les socket en refabriquant des requettes http valide avec simulation d'un cookie afin d'avoir la seconde page.
 
Finalement ma réponse n'était pas fausse vu que n'étant pas conecté j'ai reçu les même infos que ton fopen. Par contre c'est ton code qu'est pas adapté à la situation.

Reply

Marsh Posté le 09-09-2005 à 14:35:35    

socket ? mekoitesse ?  
 
tu aurais un exemple de ce genre de code ?

Reply

Marsh Posté le 09-09-2005 à 14:53:06    

une révision s'impose... ça fait partie des bases...
http://www.commentcamarche.net/sockets/sockintro.php3
 
sinon essaye curl : http://fr.php.net/curl
ça sera plus rapide que de réviser les socket

Reply

Marsh Posté le 09-09-2005 à 15:45:35    

j'ai esayé un petit script curl, qui me donne le meme resultat, la premiere page passe, la suivante non.
 

$ch = curl_init($url);
$fp = fopen("example_homepage1.txt", "w" );
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);

il faut peut-etre plus de parametrage... ou alors un probleme de cooki;
 
et puis quand je regarde l'adresse de la deuxieme page : http://timbres.search-completed.ebay.fr/_Communaute-francaise-neufs_W0QQcatrefZC3QQcatrefZC6QQfisZ2QQfro...
ce qui se trouve apres le domaine n'est ni un fichier xxxxx.yyy (htm, asp, dll, php...), ni meme un parametre. Aussi je n'y comprends rien. Est-ce de l'url rewriting ?  


Message édité par cycluba le 09-09-2005 à 15:55:25
Reply

Marsh Posté le 09-09-2005 à 23:20:50    

vraiment, ça n'inspire personne  ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed