我可以使用这里的示例:http://www.androidsnippets.org/snippets/36/index.html并成功地获得一个webesite的“http/1.1ok”响应,我正在发送httppost和用户凭据。但是,我无法使用httpget进一步浏览此网站上的其他页面。
有人能告诉我出了什么事吗?很抱歉,我对Java很陌生。

最佳答案

我的猜测是,当网站收到帖子并登录用户时,它会在响应上设置cookies以指示用户已登录,然后在后续的get上需要这些cookies。
你将需要做如下的事情(这是从一个更大的应用程序借来的,所以可能无法立即编译)

DefaultHttpClient mHttpClient = new DefaultHttpClient();
BasicHttpContext mHttpContext = new BasicHttpContext();
CookieStore mCookieStore      = new BasicCookieStore();
mHttpContext.setAttribute(ClientContext.COOKIE_STORE, mCookieStore);

这将在http上下文中设置cookie存储,然后在get和post上使用该上下文。
HttpResponse response = mHttpClient.execute(mRequest, mHttpContext);

http客户端将在封面下存储来自响应的cookie,并将它们添加到请求中。

关于android - Android:将HttpPost中的Cookie用于HttpGet的示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3407764/

10-09 15:59