0

我正在尝试设置一个可以登录到我运行的服务器的简单应用程序。我使用 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 的情况下进入服务器!

我错过了什么?

4

0 回答 0