Hello et bonne année !
Je cherche à récupérer un fichier sur un serveur https (ma banque) qui requiert un id de session fourni via cookie. J'ai "écouté" les requêtes et réponses http via le plugin "Temper Data" de firefox. Avec ces données je cherche à re créer la meme requête ds mon code java pour obtenir le cookie de session.
Voici mon code java :
et voici la requête entre firefox et la banque (id et mot de passe maquillés ;) ) que je cherche à reproduire :Code:
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 DefaultHttpClient httpclient = new DefaultHttpClient(); String uri = "https://particuliers.secure.lcl.fr/everest/UWBI/UWBIAccueil?DEST=IDENTIFICATION"; HttpPost httpost = new HttpPost(uri); List <NameValuePair> nvps = new ArrayList <NameValuePair>(); nvps.add(new BasicNameValuePair("agenceId", "5300")); nvps.add(new BasicNameValuePair("compteId", "549011f")); nvps.add(new BasicNameValuePair("CodeId", "6G72qs")); nvps.add(new BasicNameValuePair("x", "26")); nvps.add(new BasicNameValuePair("y", "4")); httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8)); httpost.addHeader("Host","particuliers.secure.lcl.fr"); httpost.addHeader("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 (.NET CLR 3.5.30729)"); httpost.addHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); httpost.addHeader("Accept-Language","fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3"); httpost.addHeader("Accept-Encoding","gzip,deflate"); httpost.addHeader("Accept-Charset","ISO-8859-1,utf-8;q=0.7,*;q=0.7"); httpost.addHeader("Keep-Alive","300"); httpost.addHeader("Connection","keep-alive"); httpost.addHeader("Referer","https://particuliers.secure.lcl.fr/index.html"); httpost.addHeader("Cookie","aklBlocage=NON; aklGeneralisation=NON; aklVersionActivex=1.2.39; xtan=-; xtant=1"); HttpResponse response = httpclient.execute(httpost);
Sauf que j'obtiens un message d'erreur "Peer not authenticated" :Citation:
19:48:07.424[637ms][total 670ms] État: 200[OK]
POST
https://particuliers.secure.lcl.fr/e...IDENTIFICATION
Indicateurs
chargement[LOAD_DOCUMENT_URI LOAD_INITIAL_DOCUMENT_URI ]
Taille contenu[-1]
Type Mime[text/html]
En-têtes requête:
Host[particuliers.secure.lcl.fr]
User-Agent[Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 (.NET CLR 3.5.30729)]
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
Accept-Language[fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3]
Accept-Encoding[gzip,deflate]
Accept-Charset[ISO-8859-1,utf-8;q=0.7,*;q=0.7]
Keep-Alive[300]
Connection[keep-alive]
Referer[https://particuliers.secure.lcl.fr/index.html]
Cookie[aklBlocage=NON; aklGeneralisation=NON; aklVersionActivex=1.2.39; xtan=-; xtant=1]
Données POST:
agenceId[2945]
compteId[324363]
CodeId[354120]
x[43]
y[4]
En-têtes réponse:
Date[Sat, 02 Jan 2010 18:48:36 GMT]
Server[Apache]
Pragma[No-cache]
Cache-Control[no-cache]
Content-Type[text/html;charset=ISO-8859-1]
Content-Language[en]
X-Cache[MISS from particuliers.secure.lcl.fr]
Via[1.1 particuliers.secure.lcl.fr]
Set-Cookie[wasnatib2-2Node01Cell_wasnatib2-2Node01_cliclisa4=0006L6d4v-9ZiBLpn:-1; Path=/; Domain=.secure.lcl.fr; Secure]
Keep-Alive[timeout=30, max=1000]
Connection[Keep-Alive]
Transfer-Encoding[chunked]
==> c'est comme si la banque refusait de monter une connexion https ???? des idées ? quelqu'un à déjà fait ça ? (les tuto sont plutot rares sur ce sujet...)Citation:
Exception in thread "main" javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
at com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(Unknown Source)
at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:339)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:123)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:147)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:108)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:576)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:554)
at org.apache.http.examples.client.LclConnectionTest2.main(LclConnectionTest2.java:122)