Android:使用来自HttpPost的cookie用于HttpGet的示例

Sri*_*har 2 android

我可以在这里使用这个例子:http://www.androidsnippets.org/snippets/36/index.html并成功获得网站的"HTTP/1.1 OK"响应我发送HttpPost以及用户凭据.但是,我无法使用HttpGet进一步浏览此站点上的其他页面.

任何人都可以让我知道,出了什么问题.对不起 - 我对Java很新.

Tor*_*rid 6

我的猜测是,当网站获得Post并将用户登录时,它会在响应上设置cookie以指示用户已登录,然后在后续Get上需要这些cookie.

您将需要执行以下操作(这是从更大的应用程序借来的,因此可能无法立即编译)

DefaultHttpClient mHttpClient = new DefaultHttpClient();
BasicHttpContext mHttpContext = new BasicHttpContext();
CookieStore mCookieStore      = new BasicCookieStore();        
mHttpContext.setAttribute(ClientContext.COOKIE_STORE, mCookieStore);
Run Code Online (Sandbox Code Playgroud)

这会在HTTP上下文中设置一个cookie存储,然后在Get和Post上使用该上下文.例如...

HttpResponse response = mHttpClient.execute(mRequest, mHttpContext);
Run Code Online (Sandbox Code Playgroud)

在客户端,HTTP客户端将存储来自响应的cookie,并将其添加到请求中.