【转】完美解决Android 9.0以上HTTP网络请求被限制问题

遇到问题

Android P 9.0以上系统,HTTP网络被限制。HTTPS无影响。
Android 10系统同样的问题。
Android P以上要求网络请求必须为Https,Http请求会抛异常。


原因分析

  Android P以上的应用默认都被限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。同时,目标API级别为27或更低的应用程序的默认值为“ true”。面向API级别28或更高级别的应用默认为“ false”。


解决方法

需要在AndroidManifest.xml文件中设置:

android:usesCleartextTraffic="true"

android:usesCleartextTraffic 指示应用程序是否打算使用明文网络流量,例如明文HTTP。


作用

忽略证书,可以使用明文流量访问,https&http都可以访问。


安全性问题

  避免明文通信的主要原因是缺乏机密性,真实性和防篡改保护;网络攻击者可以窃听所传输的数据,并且还可以对其进行修改而不会被检测到。


此外

别忘记在Android.Manifest.xml文件中添加网络访问权限哦!

<uses-permission android:name="android.permission.INTERNET" />



作者:千夜零一
链接:https://www.jianshu.com/p/d7776201c483
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

以前的是程序员的老板,现在是末路出家的程序员小白。
原文地址:https://www.cnblogs.com/xiaoyao-blog/p/14715600.html