zoukankan      html  css  js  c++  java
  • android okhttp和webview session共享

    public static OkHttpClient get(Context context){
            OkHttpClient.Builder builder = new OkHttpClient.Builder()
                    .cookieJar(new WebViewCookieHandler(context))
                    .connectTimeout(15, TimeUnit.SECONDS)
                    .writeTimeout(20, TimeUnit.SECONDS)
                    .readTimeout(30, TimeUnit.SECONDS)
                    .cache(new Cache(context.getCacheDir(), Config.REQUEST_CACHE_SIZE));
            return builder.build();
    }
    public class WebViewCookieHandler implements CookieJar {
        private CookieManager mCookieManager = CookieManager.getInstance();
    
        public Context context;
    
        public WebViewCookieHandler(Context context){
            this.context = context;
        }
    
        @Override
        public void saveFromResponse(HttpUrl url, List<Cookie> cookies) {
            mCookieManager.setAcceptCookie(true);
            String urlString = url.toString();
            for (Cookie cookie : cookies) {
                mCookieManager.setCookie(urlString, cookie.toString());
            }
            if(Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP){
                CookieSyncManager.getInstance().sync();
            }else{
                mCookieManager.flush();
            }
        }
    
        @Override
        public List<Cookie> loadForRequest(HttpUrl url) {
            String urlString = url.toString();
            String cookiesString = mCookieManager.getCookie(urlString);
            if (cookiesString != null && !cookiesString.isEmpty()) {
                String[] cookieHeaders = cookiesString.split(";");
                List<Cookie> cookies = new ArrayList<>(cookieHeaders.length);
                for (String header : cookieHeaders) {
                    cookies.add(Cookie.parse(url, header));
                }
                return cookies;
            }
            return Collections.emptyList();
        }
  • 相关阅读:
    Java异常处理和设计
    一次qps测试实践
    Alternate Task UVA
    Just Another Problem UVA
    Lattice Point or Not UVA
    Play with Floor and Ceil UVA
    Exploring Pyramids UVALive
    Cheerleaders UVA
    Triangle Counting UVA
    Square Numbers UVA
  • 原文地址:https://www.cnblogs.com/rchao/p/9228975.html
Copyright © 2011-2022 走看看