关于异常:HttpURLConnectionImpl cannot be cast to javax.net.ssl.HttpsURLConnection的解决办法

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"><span style="font-size:18px;">今天在写一个app时,当实现从网络上获取图片资源,发送HTTPURLConnection的时候抛出这样的异常:</span></span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"><span style="font-size:18px;"> java.lang.ClassCastException: com.android.okhttp.internal.http.HttpURLConnectionImpl cannot be cast to </span></span>
<span style="font-size:18px; font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">javax.net.ssl.HttpsURLConnection;</span>

经过一番上网搜索后总算发现了问题在哪(PS:看过之后估计你想撞墙的心都有了。。。):

先来说下我的问题吧。

问题描述如下:

之所以会出现那样的异常就在于下面这段代码的错误

URL url = new URL(urlString);
HttpsURLConnection connection= (HttpsURLConnection) url.openConnection();
我请求的图片的网址 开头是Http://,而却用 HttpsURLConnection类型来指定网络连接的类型,肯定会抛出异常。。。

问题原因:你的urlString必须以这种形式开头:“http://” 而不是“https://” 这样你才能匹配HttpURLConnection.

解决办法:将HttpsURLConnection改为HttpURLConnection即可;

解释:

SSL(Secure Sockets Layer 安全套接层)

HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议

这两者是相互对应的。




评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值