Bonjour,

J'essaie d'accéder à un site via des requêtes POST, sans passer par les formulaires.
Envoyer les données semble bien marcher :
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
$user=urlencode($_GET['user']);
$password=urlencode($_GET['password']);
$data='login='.$user.'&pass='.$password;
$message  = "POST http://lesite.org/page.php HTTP/1.0\r\n";
$message .= "Content-type: application/x-www-form-urlencoded\r\n";
$message .= "Referer: http://lesite.org/page.php\r\n";
$message .= "Content-length: ".strlen( $data )."\r\n";
$message .= "\r\n";
$message .= $data."\r\n";
echo '<pre>'.$message.'</pre>';
$fd = fsockopen( gethostbyname('lesite.org'), 80 );
@fputs($fd,$message);
$c='';
while (!@feof($fd)) {
    $c.=fgets($fd, 128);
 
}
Le problème, c'est que $c contient ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<html><head><meta http-equiv="refresh" content="0;url=http://lesite.org/page.php"></meta></head></html>
Donc une redirection... En effet, si je fais afficher $c, je suis redirigé vers cette page et je suis bien identifié... Sauf que je voudrais récupérer le contenu de cette page.
J'ai essayé avec fgets, en mettant le code suivant à la suite :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
$url='http://lesite.org/page.php';
if (!$fp = fopen($url,"r"))
	echo 'Erreur avec l\'adresse donn&eacute;e';
$page='';
if ($fp) {
	while (!feof($fp)) {
		$page .= @fgets($fp, 4096);
	}
}
echo $page;
Mais du coup c'est comme si je n'avais pas entré les données du formulaire, je n'y comprends rien !

Quelqu'un connait la solution de ce problème ?