zoukankan      html  css  js  c++  java
  • 用Okhttp框架登录之后的Cookie设置到webView中(转)

    1.webview中设置:

     

    [java] view plain copy
    1.  @SuppressWarnings("deprecation")  
    2. public void synCookies(Context context, String url) {    
    3.        CookieSyncManager.createInstance(context);    
    4.        CookieManager cookieManager = CookieManager.getInstance();    
    5.        cookieManager.setAcceptCookie(true);    
    6. //      cookieManager.removeSessionCookie();// 移除    
    7.            
    8.        cookieManager.removeAllCookie();    
    9.     //   String[] cookie = mCookieStr.split(";");    
    10.          
    11.   //     Cookie[] cookie  = CookieUtil.getCookies().toArray(  
    12. // new Cookie[CookieUtil.getCookies().size()]);  
    13.        
    14.        List<Cookie>   cookies=SimpleCookieJar.getCookies();  
    15.          
    16.          
    17.          
    18.        StringBuffer sb = new StringBuffer();  
    19.          
    20.          
    21.        for ( Cookie cookie : cookies)  
    22.        {  
    23.            
    24. String cookieName = cookie.name();  
    25. String cookieValue = cookie.value();  
    26. if (!TextUtils.isEmpty(cookieName)  
    27. && !TextUtils.isEmpty(cookieValue)) {  
    28. sb.append(cookieName + "=");  
    29. sb.append(cookieValue + ";");  
    30. }  
    31.        }  
    32.          
    33.   
    34. String[] cookie = sb.toString().split(";");   
    35.        for (int i = 0; i < cookie.length; i++) {    
    36.          Log.d("cookie[i]",cookie[i]);  
    37.            cookieManager.setCookie(url, cookie[i]);// cookies是在HttpClient中获得的cookie    
    38.        }    
    39.    
    40.    
    41.        CookieSyncManager.getInstance().sync();    
    42.    }   


     

    2.SimpleCookieJar 这个类中设置:

     

    [java] view plain copy
    1. import java.util.ArrayList;  
    2. import java.util.List;  
    3. import okhttp3.Cookie;  
    4. import okhttp3.CookieJar;  
    5. import okhttp3.HttpUrl;  
    6. public final class SimpleCookieJar implements CookieJar  
    7. {  
    8.     private final List<Cookie> allCookies = new ArrayList<Cookie>();  
    9.   
    10.   
    11.       
    12. private static List<Cookie> cookies;  
    13.   
    14. public static List<Cookie> getCookies() {  
    15. return cookies != null ? cookies : new ArrayList<Cookie>();  
    16. }  
    17.   
    18. public static void setCookies(List<Cookie> cookies) {  
    19. SimpleCookieJar.cookies = cookies;  
    20. }  
    21.   
    22.     public synchronized void saveFromResponse(HttpUrl url, List<Cookie> cookies)  
    23.     {  
    24.         allCookies.addAll(cookies);  
    25.           
    26.         setCookies(cookies);  
    27.     }  
    28.   
    29.   
    30.     @Override  
    31.     public synchronized List<okhttp3.Cookie> loadForRequest(HttpUrl url)  
    32.     {  
    33.         List<Cookie> result = new ArrayList<Cookie>();  
    34.         for (Cookie cookie : allCookies)  
    35.         {  
    36.             if (cookie.matches(url))  
    37.             {  
    38.                 result.add(cookie);  
    39.             }  
    40.         }  
    41.         return result;  
    42.     }  
    43. }  





  • 相关阅读:
    用了7年做到项目经理,女朋友却离开了我
    手把手教你建网站--程序小白适用篇
    燃尽图的学习与理解
    每周进度
    四人组队
    读构建之法之感
    两人组队,小学生的四则运算
    词汇统计
    AMQP中的架构和组成元素
    MSSQL机制
  • 原文地址:https://www.cnblogs.com/ut2016-progam/p/5639245.html
Copyright © 2011-2022 走看看