Récupération depuis du RSS

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupération depuis du RSS

Re: Récupération depuis du RSS

par tgx » 06 oct. 2010, 23:30

Bon, on est en non résolu pour l'instant : le fopen() n'est pas accepté sur les pages perso logées chez Free, le allow_url_fopen est bloqué à Off.
Le fopen() semble n'être accepté que s'il fait référence à de l'interne, donc à une page logée (en .free.fr).

Plus trop d'idées, là, à moins qu'il y ait d'autres commandes pour récupérer du RSS… :|

Re: Récupération depuis du RSS

par tgx » 17 sept. 2010, 23:57

Ah je n'ai pas pensé à zyeuter ça, je vais m'y mettre. Merci :)
D'ailleurs le site est stocké sur un espace Free, donc il faut plutôt regarder côté sessions ?

Re: Récupération depuis du RSS

par stealth35 » 16 sept. 2010, 20:44

le allow_url_fopen est a On ?

Récupération depuis du RSS

par tgx » 16 sept. 2010, 17:11

Bonjour tout le monde,

Disposant de plusieurs pages en PHP, je cherchais à ajouter pour l'une d'entre elles un bout de page récupérant une partie des données d'un RSS. C'est sur du réseau interne.

Petit détail du principe :
  • une dizaines de machines sur le réseau en sont à mettre en ligne leurs petits RSS ; de ce côté je ne peux rien modifier, ce sont juste ces informations qui servent de source, pour être rattrapées par le PHP
  • chacun des RSS est un XML avec peu de balises, ressemblant à ça :

    Code : Tout sélectionner

    <poste> <etat>Ok</etat> <stock>8</stock> <libre>12</libre> <option>AVEC</option> </poste>
  • les données à récupérer sont les chaînes de caractères de chaque ligne (état, stock, libre, option)
Le PHP actuel (très artisanal) est de ce style :

Code : Tout sélectionner

<?php $nom[1]="Nom0"; $nom[2]="Nom1"; ... $nom[10]="Nom9"; function ouvre () {echo "<tr align=\"center\">";} $num=1; while($num<=10) { ouvre(); echo "<td>".$nom[$num]."</td>"; $parseurXML = xml_parser_create(); xml_set_character_data_handler($parseurXML, "fonctionTexte"); $fp=fopen("https://adresse.page.flux/getStatus?id=".$num,"r"); if(!$fp) die("<br /><br />Erreur : Fichier XML introuvable."); // while($ligneXML=fgets($fp, 1024)) { $ligneXML=fgets($fp, 1024); xml_parse($parseurXML,$ligneXML,feof($fp)) /*or die("Erreur XML")*/; $ligneXML=fgets($fp, 1024); xml_parse($parseurXML,$ligneXML,feof($fp)) /*or die("Erreur XML")*/; $ligneXML=fgets($fp, 1024); xml_parse($parseurXML,$ligneXML,feof($fp)) /*or die("Erreur XML")*/; $ligneXML=fgets($fp, 1024); xml_parse($parseurXML,$ligneXML,feof($fp)) /*or die("Erreur XML")*/; $ligneXML=fgets($fp, 1024); echo "<i>".xml_parse($parseurXML,$ligneXML,feof($fp))."</i>" /*or die("Erreur XML")*/; // } xml_parser_free($parseurXML); fclose($fp); $num++; /* echo "<\\tr>"; */ } ?>
NB : la fonction ouvre() est pour gérer l'ajout des résultats dans un code HTML de tableau


Le problème est que que je tombe systématiquement sur ce résultat :

Code : Tout sélectionner

Warning: fopen(https://adresse.page.flux/getStatus?id=1) [function.fopen]: failed to open stream: No such file or directory in test-flux.php on line 84
Pour info : Z'avez une titte idée du hic ?
Ou peut-être qu'il vaut mieux complètement revoir tout ça ?