首先说明下:本文碰到的一些问题,都是在 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