我正在尝试设置一个可以登录到我运行的服务器的简单应用程序。我使用 anAndroidHttpClient
发送带有正确凭据的 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());
然而,当我发送第二个 HTTP 请求时,它在没有会话 cookie 的情况下进入服务器!
我错过了什么?