解决方法

1.使用HTTPS
2.targetSdkVersion 降到27以下
3.设置isCleartextTrafficPermitted()false


最近做的项目,在8.0版本以下都是可以正常使用,突然接收到反馈说软件在9.0无法使用,连登陆都无法登陆。而刚好我的手机也刚升级到9.0系统,就进行了测试,发现问题和查找问题,得到以下错误原因和解决方案:

1、用Retrofit请求网络报这个错
CLEARTEXT communication to host not permitted by network
由于 Android P 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。

如果当前应用的请求是 htttp 请求,而非 https ,这样系统就会禁止当前应用进行该请求,如果 WebView 的 url 用 http 协议,同样会出现加载失败,无法显示webview的内容,https 则不受影响。

为此,OkHttp3 做了检查,所以如果使用了明文流量,默认情况下,在 Android P 版本 OkHttp3 就抛出异常:

"CLEARTEXT communication to " + host + " not permitted by network security policy

这是因为在更新了9.0系统之后,所有应用都使用HTTPS

这是对Android安全用户的肯定。AndroidP上的所有应用程序默认都使用HTTPS。

解决方案:

一、APP改用https请求

这种方式需要接口去协调,把请求域名改为https。

二、targetSdkVersion 降到27以下

三、在 res 下新增一个 xml 目录,然后创建一个名为:network_security_config.xml 文件(名字自定) ,内容如下,大概意思就是允许开启http请求。

<?xml version="1.0" encoding="utf-8"?>
<!--Android 9.0 https请求适配-->
<network-security-config><base-config cleartextTrafficPermitted="true" />
</network-security-config>

AndroidManifest.xml里面的application标签下配置:

android:networkSecurityConfig="@xml/network_security_config"

到此就解决了Android9.0无法请求接口获取数据的错误了。

转载:https://blog.csdn.net/freak_csh/article/details/86100031

https://www.jianshu.com/p/7e4eed792b7c

Android9.0 http网络请求失败相关推荐

  1. Android9.0 http网络请求失败问题分析与解决方案

    最近做的项目,在8.0版本以下都是可以正常使用,突然接收到反馈说软件在9.0无法使用,连登陆都无法登陆.而刚好我的手机也刚升级到9.0系统,就进行了测试,发现问题和查找问题,得到以下错误原因和解决方案 ...

  2. Android9.0 http网络请求失败解决方法

    前言:最近在做一个OCR,调用的是百度OCR的接口,文字识别出来之后想加一个翻译的功能,还是使用的百度翻译.(不管外界如何唱衰百度,个人感觉百度这方面做的还是可以的).由于之前请求网络用的okhttp ...

  3. Android9.0 http网络请求失败问题的处理

    目录 处理方法(任意一种): APP改用https请求 targetSdkVersion 降到27以下 配置network-security-config(推荐) 原因 出错案例 处理方法(任意一种) ...

  4. Android异常-android5.0以上网络请求失败-retry error, curr request is null

    异常描述: 使用Xutils框架做了登录请求,5.0以下和部分5.0android能够正常登录,大部分android5.0的手机发现一直显示正在加载,调试发现,输出错误信息 retry error,c ...

  5. 网络请求失败CLEARTEXT communication to “ “ not permitted by network security policy

    ok http3 + retrofit 网络请求,在Android9.0手机上请求失败,报错:CLEARTEXT communication to " " not permitte ...

  6. (转)json数据解析异常而导致网络请求失败的解决办法(其一)

    原文出处 https://www.jianshu.com/p/d6bd6bd5fce3 参考文章 问题概述 笔者在开发过程中临时遇到一个本来仅有web端的项目临时增加Android端,导致后端在出接口 ...

  7. android json解析异常,json数据解析异常而导致网络请求失败的解决办法(其一)

    问题概述 笔者在开发过程中临时遇到一个本来仅有web端的项目临时增加Android端,导致后端在出接口时并未考虑Android端的json数据的解析,导致接口是这样的.... 正确请求 { " ...

  8. android——rxjava异步Consumer类似promise、重试机制、网络请求失败重试、合并两个异步都完成才往下运行、实现数据缓存优先加载

    1.rxjava异步Consumer 导入fxjava包: implementation 'io.reactivex.rxjava3:rxjava:3.0.6' // rxBinding已经依赖了rx ...

  9. JS基础之网络请求失败自动重试

    当我们在进行网络请求的时候,有时候由于信号不好等因素导致网络请求失败,这时我们通常就直接返回了,这不够优雅,更好的处理方式时能进行自动重试. 假设我们的网络请求代码如下: // 伪代码 functio ...

最新文章

  1. ubuntu 10.04 安装arm交叉编译器
  2. 例题:青歌赛打分程序。去掉两个最高分,去掉两个最低分,再算平均分。主要学习数组和冒泡排序,什么情况下要定义数组...
  3. NLTK与NLP原理及基础
  4. HackerRank Super Six Substrings dp
  5. vue 中的el表达式_Vue中vue.filter()的使用方法介绍(过滤)
  6. VS 2013 Preview 自定义 SharePoint 2013 列表 之 两个Bug
  7. IIS -2147467259 (0x80004005)
  8. linux+vim+动不了,linux的vim按了ctrl+s之后假死的解决办法
  9. 计算机科学实验班高考线,北京工业大学计算机科学与技术(实验班)专业2015年在北京理科高考录取最低分数线...
  10. java语言函数存储在哪个包_java专项联系题
  11. 使用JDBC增删改查
  12. display:inline-block 间隙
  13. 转换php时间戳,如何实现转换php时间戳
  14. Altium Designer10.1051图文安装教程
  15. 【转载】printf打印是字体和背景带颜色的输出的方法
  16. 下一代微型计算机,「简讯」GTX 1650完整规格曝光;任天堂推迟下一代Switch上市时间…...
  17. WC-Write Combining 合并写技术
  18. NVIDIA英伟达又发布了哪些黑科技?
  19. 彻底关闭Win10内置的Windows Defender杀毒软件
  20. python代码示例大全 下载-python基础代码大全

热门文章

  1. 基于firefly rk3399刷写ubuntu18.04系统
  2. Window7系统无线网络连接不可用?
  3. Python基础:面向对象基础 (一) 类及其属性和魔法方法
  4. MySQL 学习笔记-第三篇-索引、存储过程和函数、视图、触发器
  5. 博士申请 | 美国东北大学徐啸林老师招收机器学习安全方向全奖博士生
  6. 最近很火的农民工,每一句话都在提醒舒适区的我们
  7. 三合H5交友盲盒系统|免授权|分销代理|APP盲盒源码|脱单盲盒
  8. 榆熙电商:哪些产品可以用来做预售处理?
  9. a豆独立的重要性 浅析华硕市场战略布局
  10. 开咖啡店最重要的是什么?这些理论知识你需要掌握