HttpClient 4.1.1を使用して、サーバーのREST API。
何とかログインできたようですが、他のことをしようとすると失敗します。
おそらく、次のリクエストでCookieを設定する際に問題が発生します。
現在、私のコードは次のとおりです。
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);
HttpClientパッケージのセッション/ Cookie設定を管理するより良い方法はありますか?
正しい方法は、 CookieStore
を準備して、 HttpContext
HttpClient#execute()
呼び出しごとに順番に渡します。
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);
// ...