使用OkHttp后,遇到的那些“坑”

本文总结了在使用okhttp-3.10.0,okio-1.14.0版本时遇到的问题,包括默认超时时间调整、User-Agent设置、中文header处理、异步回调线程、TCP复用与SocketTimeoutException、SecurityException的解决方案等。
摘要由CSDN通过智能技术生成

首先说明下:本文碰到的一些问题,都是在 okhttp-3.10.0,okio-1.14.0 这个版本碰到的。

1,OkHttpClient 默认的 connectTimeout,readTimeout,writeTimeout 都是10秒,实际在应用体验上来说,有点短的。项目中最好 connectTimeout = 10s,readTimeout= 60s,readTimeout= 60s,如果涉及到下载上传,实际应该修改成更长的。

2,Request,默认头信息 User-Agent 是“okhttp3.0”,建议修改成系统的。

下面代码是兼容的方式获取系统默认UA的方法:

    /**
     * 获取默认UserAgent(读取系统WebView的UserAgent设置)
     */
    public String getDefaultUserAgent(Context context) {
        String result;
        // http://androidxref.com/4.1.1/xref/frameworks/base/core/java/android/webkit/WebSettingsClassic.java#getCurrentUserAgent
        try {
            Locale locale = context.getResources().getConfiguration().locale;
            StringBuffer buffer = new StringBuffer();
            // Add version
            final String version = B
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值