Bonjour,

je travail sur la connection automatique à une application web intranet.
mon problème et que je ne comprends pas bien comment je peux faire pour recevoir et utiliser les cookies.

voila mon 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
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
print "\nLOGIN : ";
chomp($login=<>);
print "\nMot de passe : ";
chomp($motp=<>);
 
	#-------Connexion (login) au serveur ------#
 
require HTTP::Request;
use LWP::UserAgent;
use HTTP::Request::Common;
use HTTP::Cookies;
 
$ua = LWP::UserAgent->new;
 
$r=$ua->request(POST 'http://sav.fr/binaccdi/accint.dll', 
[provenance => CTLIDT,environnement => expsv,CODLOOK => 0,
CODLANG => 0,nom => $login,password => $motp,submit => formident]);
 
$resultat=$r->content;
 
open (FICOUT,'>c:/tmp/oc1.htm');
print FICOUT "\n$resultat";
 
# La on est sur la premiére page. on vas maintenant appeler la page suivante
# et récupérer le cookie qui vas bien ...
 
@url=split('\n',$resultat);
foreach(@url){
	if(/> APPLI2 </){
		if(/(http.*CODLOOK=0)/){
			print $1;
			$httpurl=$1;
		}
	}
}
 
$ua = LWP::UserAgent->new(
        agent      => 'Mozilla/4.0 (compatible; MSIE 6.0; windows NT 5.1)',
        cookie_jar => HTTP::Cookies->new(
            file           => $conf{f},
            autosave       => 1,
            ignore_discard => 1,        # le cookie devrait être effacé à la fin
        )
    );
 
    $request = HTTP::Request->new( GET => "$httpurl" );
 
$r = $ua->request($request);
print "\n", $r->status_line, "\n";
$resultat=$r->content;
 
open (FICOUT,'>c:/tmp/oc2.htm');
print FICOUT "\n$resultat";
 
# print "\n$resultat";
comment je peux faire pour voir se que contient mon cookie?
si perl le lit correctement ou pas?
(je sais que le cookie arrive car je le vois arriver avec ethereal!!)
comment je peux renvoyer les informations du cookie?

voila tout!
Merci d'avance!