Android P之后关于网络的小知识点

2019-08-08  本文已影响0人  aserbao

如果你的应用之前使用http协议进行网络请求,那么这篇文章就是专门为你写的。

为什么写这篇文章?

今天公司同事找我,说我写的下载库出问题了,What?我写的代码会有问题?这一套代码都用了好几年了,经历过好几个公司了,你说有问题?开玩笑!拿过来一调试,好家伙,真给我报异常了。然后搜索一波,发现是Android P之后Google默认使用了TLS保护,赶快写出来和大家分享一波。

现象

在下载http开头的链接文本时,报:

java.io.IOException: Cleartext HTTP traffic to npic.getremark.com not permitted

结果

下载不成功,报bug,我能怎么办?改呗。

解决方案

这里提供三种解决方案:

好了,直接讲第三种解决方案,具体步骤如下:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />//允许连接到任意不安全的域
</network-security-config>

好了,再运行一下,完美解决问题。

扩充内容

上面的创建文件内有注释叫做允许连接到任意不安全的域,那么如果想允许特定域咋整呢?不急,刚好官方文档有说,搬过来,比如想只支持aserbao.com这个域名进行明文链接,那么咱们可以这么写:

<network-security-config> 
    <domain-config cleartextTrafficPermitted =“true”> 
        <domain includeSubdomains =“true”> aserbao.com </ domain> 
    </ domain-config> 
</ network-security-config>

好了,就写这么多吧,写多了怕消化不了,刚好8点整,不能在写了,看我的全职去了。

参考链接

上一篇 下一篇

猜你喜欢

热点阅读