Bonjour a tous,
Je viens poster ici car je n'ai pas trouvé solution a mon problème et si le titre peut paraitre compliqué, en détail, c'est plus évident.
Je travaille en local avec wamp server.
Je suis en train de développer un petit parser html avec ce qui me va bien dedans. Jusque là tout marche bien. Cependant, pour certains site, nécessitant une connexion, le parsage reste celui de la page d'origine sans être logué.
Je m'explique, j'ai une petite page php contenant ce bout de code :
J'utilise donc dans un premier temps une de mes fonction pour me récupérer le contenu de la balise <p> qui me renvoie BB logiquement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php if (isset($_POST['aa'])) { echo 'AA</p>'; } else { echo 'BB</p><form method="post", action="test.php"> <input type="text" name="aa" /> <input type="submit" value="BB" /> </form> '; } ?>
Ensuite j'envoie ma donnée post.
Enfin je re parse mais le résultat est le même : BB
J'ai bien vérifié, les données POST sont envoyées et reçu.
Voici ma fonction connecter :
Avec $this->url contenant protocole + url (http://192.168.1.9/parser/test.php) sanchant que 192.168.1.9 est mon ip reseau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 function connecter() { $data = 'aa='.urlencode('aa'); $message = 'POST '.$this->url.' HTTP/1.0\r\n'; $message .= 'Content-type: application/x-www-form-urlencoded\r\n'; $message .= 'Content-length: '.strlen( $data ).'\r\n'; $message .= '\r\n'; $message .= $data.'\r\n'; $fd = fsockopen('192.168.1.9', 80); if (fputs($fd, $message)) { echo 'OK'; $this->Parser($this->url); // récupération et affichage du contenu de ma balise p $resP = $this->rechercheBalise('2', $this->text, 'p'); echo '+'.$resP[1][0].'+<br />'; } else echo 'No'; fclose($fd); }
$this->Parser($this->url); stocke le contenu de la page dans un variable text (on le refait car la page est cencée avoir changé).
$this->rechercheBalise('2', $this->text, 'p'); fonction permettant de récupérer toutes les balises <p> dans le champs text.
J'ai bien OK qui s'affiche mais le text BB est aussi affiché.
Je ne sais pas si cela vient du fait que je ne sois pas sur localhost mais si je change mon ip par localhost, la page charge sans s'arrêter.
J'ai trouvé d'autres pistes notamment avec la class HttpRequest de php mais je preferais savoir avant si quelqu'un avait une idée.
Merci
DaX
Partager