J'utilise HttpClient 4.1.1 pour tester l'API REST de mon serveur.
Je peux réussir à me connecter semble fonctionner correctement mais quand j'essaye de faire autre chose, j'échoue.
J'ai très probablement un problème lors de la configuration du cookie dans la prochaine demande.
Voici mon code actuellement:
HttpGet httpGet = new HttpGet(<my server login URL>);
httpResponse = httpClient.execute(httpGet)
sessionID = httpResponse.getFirstHeader("Set-Cookie").getValue();
httpGet.addHeader("Cookie", sessionID);
httpClient.execute(httpGet);
Existe-t-il un meilleur moyen de gérer le paramètre de session/cookies dans le package HttpClient?
La bonne façon est de préparer un CookieStore
que vous devez définir dans le HttpContext
que vous transmettez à son tour tous les HttpClient#execute()
appel.
HttpClient httpClient = new DefaultHttpClient();
CookieStore cookieStore = new BasicCookieStore();
HttpContext httpContext = new BasicHttpContext();
httpContext.setAttribute(HttpClientContext.COOKIE_STORE, cookieStore);
// ...
HttpResponse response1 = httpClient.execute(method1, httpContext);
// ...
HttpResponse response2 = httpClient.execute(method2, httpContext);
// ...