我可以在这里使用示例:http://www.androidsnippets.org/snippets/36/index.html并成功获取网站的“HTTP / 1.1 OK”响应我发送HttpPost以及用户凭据。但是,我无法使用HttpGet进一步浏览此站点上的其他页面。
任何人都可以让我知道,出了什么问题。对不起 - 我对Java很新。
答案 0 :(得分:6)
我的猜测是,当网站获得Post并将用户登录时,它会在响应中设置cookie以指示用户已登录,然后在后续Get上需要这些cookie。
您将需要执行以下操作(这是从较大的应用程序借来的,因此可能无法立即编译)
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,并将其添加到请求中。