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 :

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>
		';
	}
	?>
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.
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 :

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);
	}
Avec $this->url contenant protocole + url (http://192.168.1.9/parser/test.php) sanchant que 192.168.1.9 est mon ip reseau.
$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