XUtil3.0关于Cookie的问题

xiaoxiao2021-02-28  116

XUtil3.0实际项目中如何处理Cookie

第一次请求的时候获取Cookie并保存起来 RequestParams params2 = new RequestParams(ConfigConstants.GETHEADPORTRAIT); //强制表单请求 params2.setMultipart(true); // 键和值 params2.addBodyParameter("account",username); //POST请求 x.http().post(params2, new Callback.CacheCallback<String>() { @Override public boolean onCache(String result) { return false; } @Override public void onSuccess(String result) { //提取Cookie 并保存 下次请求前加入header DbCookieStore instance = DbCookieStore.INSTANCE; List<HttpCookie> cookies = instance.getCookies(); for (HttpCookie cookie : cookies) { String name = cookie.getName(); String value = cookie.getValue(); SharePreferenceUtil.setPrefString(getBaseContext(),"Cookiename",name); SharePreferenceUtil.setPrefString(getBaseContext(),"Cookievalue",value); } } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } });

再次请求数据的时候取出Cookie 学会要判断Cookie过期的情况

//再次请求数据 String cookiename = SharePreferenceUtil.getPrefString(getBaseContext(), "Cookiename", ""); String cookievalue = SharePreferenceUtil.getPrefString(getBaseContext(), "Cookievalue", ""); RequestParams params2 = new RequestParams(ConfigConstants.LOGINURL); params2.addHeader("Cookie", cookiename + "="+ cookievalue); params2.setMultipart(true); params2.addBodyParameter("passwd",Md5Utils.MD5(prefString1)); x.http().post(params2, new Callback.CacheCallback<String>() { @Override public boolean onCache(String result) { return false; } @Override public void onSuccess(String result) { @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } });
转载请注明原文地址: https://www.6miu.com/read-17496.html

最新回复(0)