zoukankan      html  css  js  c++  java
  • Andrew XUtils的session获得和cookieStore使用

    之前使用过XUtils框架做过项目,当时因为session纠结了好久,但是解决了,现在回想起来,好像没有备份,赶紧写份笔记备份下,以后方便使用。

    主要是登陆服务器后,应该保存一个登陆状态,登陆后,会保存个登陆状态,只有保存这个状才能有权限访问对应的内容,否则,返回的是一堆html格式的网页。

    这时候,就会考虑到保存Cookie。直接上代码吧:

    这里是登陆界面:

    MainActivity.java对应的import

    import org.apache.http.client.CookieStore;
    import org.apache.http.cookie.Cookie;
    import org.apache.http.impl.client.DefaultHttpClient;
    MainActivity.java
     1 private void httpLogin() {
     2         final HttpUtils http = new HttpUtils();
     3         RequestParams params = new RequestParams();
     4         String url = "http://192.168.1.60/auto/login_Login.action?oper.operatorName=123&oper.password=123";
     5         final String urlPost="http://192.168.1.60/auto/login_Login.action";
     6         params.addBodyParameter("oper.operatorName","123");
     7         params.addBodyParameter("oper.password","123");
     8         http.send(HttpRequest.HttpMethod.POST,
     9                 urlPost,
    10                 params,
    11                 new RequestCallBack<String>() {
    12 
    13                     @Override
    14                     public void onStart() {
    15                         pg.show();
    16                         Log.d("jack",urlPost);
    17                     }
    18 
    19                     @Override
    20                     public void onLoading(long total, long current, boolean isUploading) {
    21                         pg.show();
    22                     }
    23 
    24                     @Override
    25                     public void onSuccess(ResponseInfo<String> responseInfo) {
    26                         pg.dismiss();
    27                         Log.d("jack",responseInfo.result);
    28                         //===========================
    29                         // 取得sessionid.........................
    30 
    31                         DefaultHttpClient dh = (DefaultHttpClient) http.getHttpClient();
    32                         MyCookieStore.cookieStore = dh.getCookieStore();
    33                         CookieStore cs = dh.getCookieStore();
    34                         List<Cookie> cookies = cs.getCookies();
    35                         String aa = null;
    36                         for (int i = 0; i < cookies.size(); i++) {
    37                             if ("JSESSIONID".equals(cookies.get(i).getName())) {
    38                                 aa = cookies.get(i).getValue();
    39                                 break;
    40                             }
    41                         }
    42                         Log.d("jack", "比较sessionid" + aa);
    43                         //===========================
    44                         Intent intent = new Intent(MainActivity.this,SecondActivity.class);
    45                         startActivity(intent);
    46                     }
    47 
    48                     @Override
    49                     public void onFailure(HttpException error, String msg) {
    50                         pg.dismiss();
    51                         Log.d("jack","哈哈"+msg);
    52                     }
    53             });
    54     }

    关键代码:

     1 //===========================
     2                         // 取得sessionid.........................
     3                         DefaultHttpClient dh = (DefaultHttpClient) http.getHttpClient();
     4                         MyCookieStore.cookieStore = dh.getCookieStore();
     5                         CookieStore cs = dh.getCookieStore();
     6                         List<Cookie> cookies = cs.getCookies();
     7                         String aa = null;
     8                         for (int i = 0; i < cookies.size(); i++) {
     9                             if ("JSESSIONID".equals(cookies.get(i).getName())) {
    10                                 aa = cookies.get(i).getValue();
    11                                 break;
    12                             }
    13                         }
    14                         Log.d("jack", "比较sessionid" + aa);
    15                         //===========================

    这里面的MyCookieStore是自定义的一个保存类:

    MyCookieStore.java
    1 import org.apache.http.client.CookieStore;
    2 
    3 public class MyCookieStore {
    4 
    5     public static CookieStore cookieStore=null;
    6     
    7 }

    最后就是在登陆后访问服务器的时候添加一句话:

    http.configCookieStore(MyCookieStore.cookieStore);

    给个类里的代码看看吧:

    SecondActivity.java
     1 private void httpLogin() {
     2         HttpUtils http = new HttpUtils();
     3         final String urlGet="http://192.168.1.60/auto/carModel_queryPL.action";
     4         http.configCookieStore(MyCookieStore.cookieStore);
     5         http.send(HttpRequest.HttpMethod.POST,
     6                 urlGet,
     7                 new RequestCallBack<String>() {
     8 
     9                     @Override
    10                     public void onStart() {
    11                         pg.show();
    12                         Log.d("jack",urlGet);
    13                     }
    14 
    15                     @Override
    16                     public void onLoading(long total, long current, boolean isUploading) {
    17                         pg.show();
    18                     }
    19 
    20                     @Override
    21                     public void onSuccess(ResponseInfo<String> responseInfo) {
    22                         pg.dismiss();
    23                         Log.d("jack","排量"+responseInfo.result);
    24                     }
    25 
    26                     @Override
    27                     public void onFailure(HttpException error, String msg) {
    28                         pg.dismiss();
    29                         Log.d("jack","排量"+msg);
    30                     }
    31             });
    32     }
  • 相关阅读:
    介绍欧美同学会建言献策委员会||Center of China & Globalization
    snappy的性能测定 42qu.com
    清华大学信息检索组微博寻人闺蜜搜索
    第二届penny校园西瓜节总结
    包邮韩国SGP复古三星i9220手机皮套n7000手机壳Galaxy note保护套tmall.com天猫
    Lustre I/O性能特点与最佳实践 刘爱贵的专栏 博客频道 CSDN.NET
    请问广告这行入门都有哪些经典paper可以学习?
    tbgo: 金山软件稳健增长 $金山软件(03888)$ 金山的中报1个月... 雪球
    京东商城招聘java工程师
    统筹学_百度百科
  • 原文地址:https://www.cnblogs.com/bxfx111/p/4153389.html
Copyright © 2011-2022 走看看