私が実行しているサーバーにログインできるシンプルなアプリをセットアップしようとしています。を使用AndroidHttpClient
して適切な資格情報を含む POST メッセージを送信すると、サーバーは期待される応答 (セッション Cookie と 302 リダイレクト) を返します。
何らかの理由で、AndroidHttpClient
そのリダイレクトを自動的にはたどらず、そうしようとしてもうまくいかないようです。そのため、手動で行うことにしました。
response = client.execute(lPost, myContext);
int status = response.getStatusLine().getStatusCode();
if (status != HttpStatus.SC_OK) {
headers = response.getHeaders("Location");
if ((headers != null) && (headers.length > 0)) {
String newURL = headers[headers.length - 1].getValue();
response = client.execute(new HttpGet(lPost.URI.resolve(newURL)), myContext);
}
}
コンテキストは、以前に Cookie ストアでセットアップされています。
myContext.setAttribute(ClientContext.COOKIE_STORE, new BasicHttpContext());
それでも、2 番目の HTTP 要求を送信すると、セッション Cookie なしでサーバーに届きます!
私は何が欠けていますか?