1、问题
个别手机用OkDownload下载Bilibili网址视频的时候下载失败,但是大部分手机下载没问题。
在继承的DownloadListener4WithSpeed类的重写taskEnd函数里面。
override fun taskEnd(task: DownloadTask, cause: EndCause, realCause: Exception?, taskSpeed: SpeedCalculator) {L.e("DownloadListenerWithSpeed taskEnd >> "+ task.info?.filename +" / "+ task.info?.totalLength + " : "+task.info?.totalOffset + " Exception = "+realCause)
}
错误关键日志如下
DownloadListenerWithSpeed taskEnd >> 340439077-1-16(2).mp4 / 0 : 0 Exception = javax.net.ssl.SSLHandshakeException: Chain validation failed
2、分析
看到SSLHandshakeException异常,我们立马就想到忽略证书,然后在下载功能前面加上如下代码,CertUtil.handleSSLHandshake()
public class CertUtil {/*** 忽略https的证书校验* 避免Glide加载https图片报错:* javax.n