网络请求未知错误 CLEARTEXT communication to XX not permitted by network security policy 问题解决方案

问题:
在进行网络请求时,日志中打印

CLEARTEXT communication to XX not permitted by network security policy

原因:
Android P系统网络访问安全策略升级,限制了非加密的流量请求
Android P系统限制了明文流量的网络请求,之下的版本没有影响,所以okhttp3会抛出该异常。

解决方案:
方案1:降低目标版本,app/build.gradle中targetSdkVersion 设置27或以下
方案2:http请求改成https
方案3:添加网络安全配置。
1)在应用的 res/xml/中创建network_security_config.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”

<application
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:networkSecurityConfig="@xml/network_security_config">
        ...
</application>

方案4:添加usesCleartextTraffic属性。
在 在AndroidManifest.xml文件中的 Application 标签中添加 android:usesCleartextTraffic=“true”

<application
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:usesCleartextTraffic="true">
        ...
</application>
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
Configuring Wireless Access Points 159 IP Address 159 SSID 160 Radio Settings 161 Transmit Power 161 RF Channel 163 Data Rates 164 Preamble 165 Beacon Period 165 Fragmentation 165 Authenticator Management 167 Authenticator Administrative Interface 167 Terminal Connection 167 Web Browser Interface 168 SNMP 169 Administrator Access Control 169 Authenticator MIB 169 Chapter 8 Configuring Authentication Servers 171 Authentication Server Recap 171 Choosing RADIUS Servers 172 Commercial RADIUS Servers 172 Open-Source RADIUS Servers 173 Outsourcing RADIUS Functionality 173 Installing RADIUS Software 174 Review Release Notes 174 Establish a Server 175 System Requirements 175 Physical Location 175 Verify Network Connections 176 Configure Administrator Account Access 176 Security Tips 182 Install the Software 183 Common RADIUS Configuration Parameters 184 Accessing RADIUS Configuration 184 Configuring RADIUS Clients and Users 186 Configuring RADIUS Clients 186 Configuring RADIUS Users 187 Configuring User Profiles 188 Authentication Methods 188 Native User Authentication 188 Pass-Through Authentication 189 Proxy RADIUS Authentication 189 Concurrent Connections 189 Shared Secret 190 Replication 191 xvi Contents 68608ftoc.qxd:Layout 1 2/18/08 9:55 PM Page xvi Chapter 9 Troubleshooting 193 Troubleshooting Approaches 193 Gather Information 194 Find the Root Problem (and Fix It) 195 Test Tools 195 Viewing System Configuration 195 Viewing System Statistics 196 Debugging Processes 197 Viewing Wireless Communications 197 Signal Tester 197 Spectrum Analyzer 199 Packet Analyzer 199 Network Connectivity Issues 200 Network Interface Problems 200 Faulty Client Cards 201 Wireless Coverage Holes 202 RF Interference 203 Infrastructure Problems 203 Supplicant Issues 204 Missing Supplicant 204 Missing Supplicant Behavior 205 Peripheral Devices 206 Hubs 207 Bad Credentials 209 Bad Credentials Behavior 210 Incorrect EAP-Method 211 Authenticator Issues 212 No 802.1X Support 212 802.1X No
这个错误提示通常是由于 Android 9(API级别28)及更高版本的设备默认启用了网络安全性配置,不允许应用程序使用明文(未加密)的 HTTP 协议进行网络通信。 因此,如果你的应用程序使用的是明文的 HTTP 协议与 visit.fengshuoxinxi.cn 进行通信,则会触发这个错误提示。为了解决这个问题,你需要采取以下措施之一: 1. 使用 HTTPS 协议 使用 HTTPS 协议可以保证通信的安全性,也可以避免这个错误提示。你需要在应用程序中使用 HTTPS 协议与 visit.fengshuoxinxi.cn 进行通信。 2. 添加网络安全性配置 如果你无法使用 HTTPS 协议,可以通过添加网络安全性配置来允许应用程序使用明文的 HTTP 协议进行通信。你需要在 res/xml 目录下创建一个名为 network_security_config.xml 的文件,并添加以下内容: ```xml <?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="true"> <domain includeSubdomains="true">visit.fengshuoxinxi.cn</domain> </domain-config> </network-security-config> ``` 这个配置文件允许 visit.fengshuoxinxi.cn 域名使用明文的 HTTP 协议进行通信。然后,在 AndroidManifest.xml 文件中添加以下属性: ```xml <application ... android:networkSecurityConfig="@xml/network_security_config" ...> ... </application> ``` 这将使你的应用程序允许使用明文的 HTTP 协议与 visit.fengshuoxinxi.cn 进行通信。但是,请注意,这种方式会降低通信的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yuiee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值