Salut tout le monde,

je suis en train de voiloir faire un petit programme en java (je sais même pas si je suis dans la bonne section, mea culpa si ce n'est pas le cas), qui essaie de s'authentifier sur un serveur ayant les caractéristiques suivantes:

  • Il faut faire une connexion https
  • le serveur demande un login et un mdp
  • il envoie un cookie (de type secure)
  • on est obligé d'utiliser le cookie pour continuer a accéder aux services.


Pour le moment, le corps de ma méthode fait quelque chose comme ça:
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
 
          try {
 
               URL u = new URL(MYURL);    
               // open the connection and prepare it to POST
               URLConnection uc = u.openConnection( );
               uc.setDoOutput(true);
 
               OutputStream raw = uc.getOutputStream( );
               OutputStream buffered = new BufferedOutputStream(raw);
               OutputStreamWriter out = new OutputStreamWriter(buffered, "8859_1
");
               out.write("?isiwebuserid="+userid+"&isiwebpasswd="+userpasswd+"r\n");
               InputStreamReader r = new InputStreamReader(uc.getInputStream( ))
;
               int c;
               while((c = r.read( )) != -1) {
                    System.out.print((char) c);
               }
               out.flush( );
               out.close( );
 
          }
          catch (IOException ex) {
               System.err.println(ex);
          }
En gros, ça ne fait que d'envoyer un POST sur la page et me recracher la réponse... comme le cookie n'a pas été importé, la réponse est la même .

Voilà quelques informations sur le serveur (response header):


Pragma: no-cache
Set-Cookie:Navajo=AVmCibRdmte7Ziw0ibRRLIMeXhFMYMu+jdSecE5Ipso/P/ZUE8tc5S1nrk7iHSYDWaairsfy6WQ-; path=/; secure
Connection: close
Location: XXX
Cache-Control: no-cache
Content-Length: 299
Content-Type: text/html

Il faut donc que je mémorise le cookie, mais surtout que quand je fais un POST je l'utilise à nouveau et c'est vraiment là que je ne sais pas coment faire !
J'ai cru comprendre que javax.servlet simplifiait quelque peu l'utilisation des cookies, mais j'ai eu l'impression que servlet est plutôt utilisé côté serveur.

Je vous remercie pour votre aide.