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