Android请求网络报错:not permitted by network security policy

一、错误记录

https的接口请求正常的,

请求http的接口时报错:not permitted by network security policy

二、问题分析

原因:
由于 Android P(版本27以上) 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。如果当前应用的请求是 htttp 请求,而非 https ,这样就会导系统禁止当前应用进行该请求。
也就是Android9.0以上都要https,不能http了,不然拒绝访问。

三、解决方法

1、在res目录下创建一个xml文件夹,在xml文件夹下创建

network_security_config.xml 文件,内容如下:

复制代码
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

2、在清单文件AndroidManifest.xml中,application下添加

复制代码
android:networkSecurityConfig="@xml/network_security_config"

重新运行,接口请求就正常了

相关推荐
佛系打工仔2 小时前
绘制K线第二章:背景网格绘制
android·前端·架构
my_power5205 小时前
车载安卓面试题汇总
android
csj505 小时前
安卓基础之《(15)—内容提供者(1)在应用之间共享数据》
android
yeziyfx6 小时前
kotlin中 ?:的用法
android·开发语言·kotlin
2501_915918417 小时前
只有 Flutter IPA 文件,通过多工具组合完成有效混淆与保护
android·flutter·ios·小程序·uni-app·iphone·webview
robotx7 小时前
AOSP 设置-提示音和振动 添加一个带有开关(Switch)的设置项
android
青莲8437 小时前
RecyclerView 完全指南
android·前端·面试
青莲8437 小时前
Android WebView 混合开发完整指南
android·前端·面试
龙之叶8 小时前
【Android Monkey源码解析三】- 运行解析
android
KevinWang_9 小时前
Android 的 assets 资源和 raw 资源有什么区别?
android