Retrofit 自定义Cookies
来源:互联网 发布:天刀真武捏脸数据 编辑:程序博客网 时间:2024/04/29 21:55
自定义Cookies拦截器:
public class CookiesInterceptor implements Interceptor{ private Context context; public CookiesInterceptor(Context context) { this.context = context; } //重写拦截方法,处理自定义的Cookies信息 @Override public Response intercept(Chain chain) throws IOException { Request request = chain.request(); Request compressedRequest = request.newBuilder() .header("cookie", CookieUtil.getCookies(context)) .build(); Response response = chain.proceed(compressedRequest); CookieUtil.saveCookies(response.headers(), context); return response; }}
CookieUtil则是一些自定义解析和生成方法以及SharedPreferences的存取,代码略
使用:
//设置拦截器,以用于自定义Cookies的设置 mOkHttpClient.networkInterceptors() .add(new CookiesInterceptor(context));
详细设置:
public abstract class BaseApi { public static final String API_SERVER = "服务器地址" private static final OkHttpClient mOkHttpClient = new OkHttpClient(); private static Retrofit mRetrofit; protected static Retrofit getRetrofit() { if (Retrofit == null) { Context context = Application.getInstance().getApplicationContext(); //设定30秒超时 mOkHttpClient.setConnectTimeout(30, TimeUnit.SECONDS); //设置拦截器,以用于自定义Cookies的设置 mOkHttpClient.networkInterceptors() .add(new CookiesInterceptor(context)); //设置缓存目录 File cacheDirectory = new File(context.getCacheDir() .getAbsolutePath(), "HttpCache"); Cache cache = new Cache(cacheDirectory, 20 * 1024 * 1024); mOkHttpClient.setCache(cache); //构建Retrofit mRetrofit = new Retrofit.Builder() //配置服务器路径 .baseUrl(API_SERVER + "/") //设置日期解析格式,这样可以直接解析Date类型 .setDateFormat("yyyy-MM-dd HH:mm:ss") //配置转化库,默认是Gson .addConverterFactory(ResponseConverterFactory.create()) //配置回调库,采用RxJava .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) //设置OKHttpClient为网络客户端 .client(mOkHttpClient) .build(); } return mRetrofit; }}
0 2
- Retrofit 自定义Cookies
- Retrofit 2.0 自定义Converter
- Retrofit自定义Converter
- Retrofit自定义CONVERTERS(fastjson)
- Retrofit自定义Converter步骤
- WebBrowser控件 自定义 UserAgent Cookies
- Retrofit使用之自定义Converter
- Retrofit自定义Converter之StringConverterFactory
- 自定义Retrofit转化器Converter
- cookies
- Cookies
- Cookies
- Cookies
- Cookies
- Cookies
- cookies()
- Cookies
- Cookies
- oracle中的sql%rowcoun
- androidstudio中生成百度地图两种AK的方式(debug版和正式版)
- Extjs5.1 MVC模式下,数据提交问题:Model.save()
- [Err] 1153 - Got a packet bigger than 'max_allowed_packet' bytes(linux环境)
- CentOS的文件权限与目录配置
- Retrofit 自定义Cookies
- windows go开发环境(续)
- 统设置中“自动转屏“设置跟app中Activity设置横竖屏之间的影响
- Sublime text追踪函数插件ctags
- Unable to load string table file:
- JAVA中extends 与implements区别
- spring modelAttributes的使用
- TrueCrypt的原理
- Ecshop修改后台的大分类商品数量