Android 网页登录 POST 请求 保存 COOKIE


做的一个是要登录自己的图书馆账号,用于查看自己所借阅的书籍,

看了一下图书馆的代码,发现是POST用户名和密码,

而在代码实现主要有两个难点:一、保存账号密码 二、保存Cookie

那么 ,第一个可以使用之前提到过的Sharedpreference ,每次就直接从sharedpreference里获取账号名和密码就可以了,不需要每次都输入

第二个怎么获得服务器的cookie呢,知道这次的session id

通过Httpclient 中的getcookiestore

 
  1. List<Cookie> cookies = httpclient.getCookieStore().getCookies();    
  2. if (cookies.isEmpty()) {    
  3. Log.i(TAG, "-------Cookie NONE---------");    
  4. else {                   
  5. for (int i = 0; i < cookies.size(); i ) {    
  6. //保存cookie     
  7. cookie = cookies.get(i);    
  8. Log.d(TAG, cookies.get(i).getName() "=" cookies.get(i).getValue() );    
  9. }  

获得了session id后,怎么再添加到我们的POST或者GET请求里面呢,

 
  1. HttpPost httpPost = new HttpPost(访问地址);  
  2. httpPost.setHeader("Cookie""JSESSIONID=" + 我们在静态变量里存放的SessionId);  
  3. HttpResponse httpResponse = httpclient.execute(httpPost);  

 

 
  1. HttpGet request = new HttpGet(url+"?"+Params);  
  2.         request.setHeader("Cookie",Sessionid);  

 

相关内容