Bonjour,

J'ai créé un petit script afin de pouvoir ouvrir une page avec fopen() tout en lui envoyant des données en POST.

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
25
26
27
28
29
30
31
32
33
34
function do_post_request($url, $data, $optional_headers = null){
 
	$data = http_build_query($data);
 
	$params = array('http' => array('method' => 'POST','content' => $data));
 
	if($optional_headers!== null){
 
		$params['http']['header'] = $optional_headers;
 
	}
 
	$ctx = stream_context_create($params);
	$fp = @fopen($url, 'rb', false, $ctx);
 
	if(!$fp){
 
		throw new Exception("Erreur n1");
 
	}
 
	$response = @stream_get_contents($fp);
 
	if($response === false){
 
		throw new Exception("Erreur n2");
 
	}
 
	return $meta = stream_get_meta_data($fp);
 
	return $response;
 
}
J'appelle ensuite la fonction comme ceci, par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$data = array('login' => 'mon_login','password' => 'mon_password');
 
print_r(do_post_request('http://URL',$data));
Ca fonctionne bien.

Maintenant, ce que je voudrais c'est pouvoir récupérer les headers renvoyés par la page que j'ouvre dans l'URL.

Quelqu'un a une idée ? Merci.