Android net::ERR_CLEARTEXT_NOT_PERMITTED无法加载url

为保证用户数据和设备的安全,Google针对 Android  P版本以后的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,都不能进行明码传输,需要使用新一代传输层安全协议(Transport Layer Security),而 Android P以下版本不受影响。

因此在Android P以上版本使用未加密的Http请求会提示net::ERR_CLEARTEXT_NOT_PERMITTED。

比如WebView加载Http链接

加载Http链接图片

所以在Android P以上的系统,如果应用使用的是非加密的明文流量的http请求,则会导致该请求无法成功,而https请求则不会受影响。

针对这个问题,我看了一下共有三种解决方法。

   1)使用Https请求替换Http请求。既然官方都说了用Https更安全,那就替换成Https。

   2)将targetSdkVersion降到27以下。曲线救国,既然从28开始不支持Http,那么我就用28以下的版本。

   3)更改网络安全配置

第三种也是网上最多的解决方案,就是在清单文件中做一下配置,使用未加密信息传输。

<application
        ...
        android:usesCleartextTraffic="true"
        ...>
        ...
    </application>

以上三种方案都可以解决Android P版本以上的Http请求问题,喜欢那种方案就看自己啦~

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值