Cleartext HTTP traffic to xxx not permitted解决办法

,为保证用户数据和设备的安全,针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输,需要使用下一代(Transport Layer Security)传输层安全协议,而 Android Nougat 和 Oreo 则不受影响。
因此在Android P 使用HttpUrlConnection进行http请求会出现以下异常
java.net.UnknownServiceException: CLEARTEXT communication ** not permitted by network security policy
在Android P系统的设备上,如果应用使用的是非加密的明文流量的http网络请求,则会导致该应用无法进行网络请求,https则不会受影响,同样地,如果应用嵌套了webview,webview也只能使用https请求。

有人认为 Android P 上所有的 App 都需要使用 TLS 加密会降低上网体验,事实上这是一种误解,至于 App 对于少数旧服务器的连接如果非要使用明码传输,开发者需要更改 App 的网络安全配置以允许此类连接。

有以下三种解决方案
APP改用https请求
targetSdkVersion 降到27以下
最终暴力解决

-

原文地址:https://www.cnblogs.com/yelanggu/p/10739487.html

时间: 2024-08-03 09:25:34

Cleartext HTTP traffic to xxx not permitted解决办法的相关文章

Android高版本联网失败报错:Cleartext HTTP traffic to xxx not permitted解决方法

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

关于ubuntu下qt编译显示Cannot connect creator comm socket /tmp/qt_temp.xxx/stub-socket的解决办法

今天在ubuntu下安装了qtcreator,准备测试一下是否能用,果然一测试就出问题了,简单编写后F5编译在gnome-terminal中出现 Cannot connect creator comm socket /tmp/qt_temp.u14973/stub-socket: No such file or directory 于是查了一下,知道qt不能用gnome-terminal执行,需要使用x-team,于是想到了解决方法: 找到:工具(Tools)->环境(environment)-

VS2010 lnk1104 " 无法打开xxx.lib"的解决办法

这个解决方案只适合一下情形: 1.该lib是dll的导出文件,且是自己撰写生成的. 2.在项目的设置中链接器的输入项--附加依赖项中也已经添加了这个lib文件. 3.被调用的lib文件和报错的工程生成文件在同一个目录下,但不是在任何一个自己工程的目录下时可以尝试一下解决办法: 在项目属性--链接器--常规--附加库目录中添加上SolutionDir,可能解决.

android eclipse 报error loading /system/media/audio/ xxx 错的解决办法。

只针对 报错..error   loading /system/media/audio/ xxx.ogg 一步操作 解决烦恼..把 模拟器声音 关了..所有的错 都没了. 包括 关闭按键声音,触摸声音,铃声等.并且 铃声 设置 none. setting->> sound ->> 都关了. 和什么代码,程序都没有关系.多久都木有答案,一个巧合,错误就没了. PP:Couldn't open fd for content://settings/system/xx 同理,关 模拟器的铃

yum安装时提示No package xxx available,解决办法

具体原因:使用yum搜索某些rpm包,找不到包是因为CentOS是RedHat企业版编译过来的,去掉了所有关于版权问题的东西.安装EPEL后可以很好的解决这个问题.EPEL(Extra Packages for Enterprise Linux )即企业版Linux的扩展包,提供了很多可共Centos使用的组件,安装完这个以后基本常用的rpm都可以找到. Method #1  从企业版Linux库配置包中安装扩展包.(推荐 ) [[email protected] ~]# sudo yum in

Docker的centos镜像内无法使用systemctl命令的解决办法

在Docker官方的centos镜像内无法使用systemctl命令的解决办法, 使用该命令docker报错 Failed to get D-Bus connection: Operation not permitted 解决办法: 运行容器时添加参数 --privileged=true /usr/sbin/init 完成的启动命令为: docker run -itd --name centos7 --privileged=true centos /usr/sbin/init 原文地址:http

关于npm安装全局模块,require时报Error: Cannot find module 'XXX'的解决办法

系统环境:centos 下午使用npm安装"cheerio",想搞爬虫玩玩. npm安装有两种模式: 本地 # npm install cheerio 全局 # npm install cheerio -g 如果想要全局安装,你首先要先设置个全局路径 我在"node的安装位置/lib/node_modules/"目录下新建了文件夹node_global专门用来存放新安装的全局包 # npm config set cache "node的安装位置/lib/n

Xcode 7提示App Transport Security has blocked a cleartext HTTP (http://) resource load的解决办法

Xcode 7提示App Transport Security has blocked a cleartext HTTP (http://) resource load的解决办法 今天使用Xcode 7打开用Xcode 6开发的网络请求项目,Xcode 7 控制台提示如下: App TransportSecurity has blocked a cleartext HTTP (http://) resource load since it isinsecure. Temporary except

【Android】Could not find XXX.apk!的解决方法

昨天在Eclipse中导入一个Android工程后点击运行时出现了Could not find XXX.apk!的错误信息,具体错误提示如下: 到网上搜了好多方法,挨个尝试,最后都没解决但是,重启Eclipse居然好了,    观察发现在bin目录下没有apk文件,可能是因为工程没有完全编译通过无法生成apk,所以project-->clean,然后rebuild就可以了~ 另外可以手动导出无签名的apk然后在导入到模拟器中,对于如何将apk导入到模拟器中可以参考这篇文章: http://wan