Si c'est possible.
Tu peux éventuellement la télécharger en utilisant AJAX. http://www.commentcamarche.net/ajax/ajax-intro.php3 Mais il va falloir que tu utilises du javascript pas standard pour l'enregitrer dans un fichier.... Je pense qu'il faudrait réfléchir à pourquoi ton url ne passe pas dans la frame. |
j'envisage tte les options possible je ne laisse pas le pb de l'url de coté. |
Personne n'a de soluce ou des liens a exploiter ? |
Bonjour ponpon et kilian,
J'ai suivi avec grand intérêt vos différents post pour arriver à récupérer des infos d'une frame contant une page externe car j'ai le même problème et je galère depuis une semaine . Avez vous trouvé une solution ou une piste ? Merci de votre réponse Patrick |
Auriez vous une petite piste, tout'p'tite ??? |
Salut,
Pourrait tu me préciser coment est rangée cette valeur? Entre quelles balises? Et est ce que cette balise possède un id ou un nom (champs name). Et ou veux tu récupérer cette valeur? Dans une autrre frame ou dans ta page principale? |
Kilian, je te remercie vivement pour avoir pris en compte ma question !!!
J'appelle depuis mon site la page d'un site extérieure afin d'en extraire les informations et les présenter sous forme de liste. Dans la page extérieure il y un tableau par enregistrement de données. Chaque tableau est ainsi conçu (simplifié) : <table> <tr id="xxxxx0"> (0 à n) <td ...> <table ...> <tr> <td ...> <a id="yyyyy0"> donnee1</a> donnee2 </td> <td ..> </td> </tr> </table> </TD> </TR> </TABLE> <table> <TR ID="zzzzz0"> <TD..> donnee 3 <br> donnee4 <br>donnee5 </TD> <TD ...> donnee inutile </TD> <TD> </tr> <table> idem pour enregistrment suivant (avec xxxxxx1) J'ai suivi les échanges que tu as eu avec ponpon et j'en suis arrivé au même résultat . c'est à dire impossible d'accéder aux éléments de la page extérieure . Patrick |
Bonjour Kilian,
Juste pour info j'avais aussi regardé les echanges que tu avais eu avec ponpon dans le message : http://www.commentcamarche.net/forum/affich-2128867-javascript-recuperation-valeu... Et la dernière piste était la mise en place d'un controle activeX ... Merci
|
bonsoir kilian,
en effet : - dans ma page principale (pageprincipale.html) il ya un textearea nommé f_text - dans la page externe chargée dans une frame ou une iframe il y a plusieurs tableaux identiques repérables par la balise tr nommées tableau0, tableau1... j'ai fait un exemple : http://www.phc2i.com/CCM/pageprincipale.html qui affiche et doit récupérer les infos de : http://www.strategeinformatique.com/CCM/tableau.html Merci de ton aide Patrick
|
non non...
Le cadre du bas (URL extérieure) sera caché Le cadre du haut doit recevoir les données du cadre du bas (dans l'exemple, je les ai ajoutés en tant que value du textearea donc à la main), lors de l'appuis sur le bouton ( par exemple) et selon une présentation différente Dans mon exemple, lorsque tu appuies sur le bouton, rien ne se passe, en dehors de l'alerte qui est juste avant l'instruction de copie des données du cadre du bas vers celui du haut et qui ne marche pas, et normalement le texte : "ici doit s'afficher : " doit disparaître patrick |
Ben tu peux arranger ça sans frame.
J'aime pas les frames mais ça n'a pas d'importance, tu pourras afficher tes résultats comme tu veux, dans une frame ou non. Donc il te suffit de télécharger la page distante puis d'utiliser uen expression régulière pour en extraire les informations. Globalement ça donne ça: $content=file_get_contents('http://www.strategeinformatique.com/CCM/tableau.html');
$vide='[^<]*';
$masque = "/<tr id=\"tableau[0-9]{1}\">$vide<td>(.*?)<\/td>$vide<td>$vide<table>$vide<tr>$vide<td>$vide<\/td>$vide<td>(.*?)<\/td>/";
preg_match_all($masque, $content, $out, PREG_SET_ORDER);
print_r ($out);
Je ne sais pas si tu sais utiliser les expressions régulières, il ya un cours dessus ici dans la section Php. J'ai utiliser uen variable nommée $vide pour représenter les tabulations, saut de lignes etc... lorsque le contenu entre deux balises ne nous interesse pas. J'utilise print_r pour représenter le résultat. Tu verras qu'à $out[0][0] tu as le premier résultat qui correspond à l'expression régulière entière. A $out[0](1] tu as le premier résultat qui t'interesse (champ1_tab0) A $out[0][2] tu as champ2_tab0 Dans $out[1][0] tu as le deuxième résultat qui correspond à l'expression régulière entière etc... |
Kilian,
J'ai malheureusement déjà essayé la piste du php avec fopen url et fread ou file_get_contents, mais l'url extérieure en question teste si mon poste accepte les cookies et si mon navigateur accepte les scripts et comme php s'exécute du coté serveur la page que je reçois est une page d'erreur. En tout cas merci pour l'info coté php , elle m'a appris quelques ruses que je ne connaissais pas. j'ai aussi essayé un require et un include de la page en question sans résultat dur dur, autres pistes ? Patrick |
Là ou je suis, file_get_contents fonctionne bien.
Dans le pire des cas, tu peux y aller avec fsockopen() et modifier tes en-têtes. |
file_get_contents le fait car mon exemple est un jeu d'essai que j'avais orienté poste client et donc j'avais isolé le problème dans ce sens.
Dans la situation réelle il y a bien ses 2 erreurs détectées (cookies, script) Afin d'avancer de mon côté sur la piste que tu m'as donné, je vais me lancer dans le fsockopen() que je n'ai jamais utilisé, c'est l'occasion... Si tu as d'autres pistes je suis preneur. Dans tous les cas je te tiens au courant. Merci encore Patrick |
Je viens d'essayer plusieurs truc en Javascript avec une frame et:
Error: uncaught exception: Permission denied to get property HTMLDocument.getElementById Ni plus, ni moins....et sans autre éclaircissement sur l'affaire. Au fait j'y pense, si le serveur distant se met des protections comme ça peut être que c'est justement car il ne veulent pas de scripts robot sur leur serveur.... |
'permission denied' , et script robot
Pour le premier, j'ai lu, selon les forums que js, ie ou ff mettaient des protections dans ce sens, je n'ai pas approfondi cette piste. Pour le second, nous avons contacté les responsables du site pour savoir si les données ne pouvaient pas nous être mises à disposition (rss), et ils nous ont répondu que d'autres sites utilisaient les résultats directement dans leurs pages sans problème et ils n'y voient pas d'inconvénients. Mais où est la ruse ? Patrick
|