java.io.IOException: Cleartext HTTP traffic to ************* not permitted Android 报错,怎么解决
时间: 2023-10-06 13:09:54 浏览: 198
这个错误是因为 Android 9(API级别28)及更高版本默认禁止明文的HTTP流量。为了解决这个问题,你可以采取以下几种方法之一:
1. 使用 HTTPS 进行请求:建议将你的应用程序迁移到使用安全的 HTTPS 协议发送网络请求。这是一种更安全和推荐的做法。
2. AndroidManifest.xml 中添加网络安全配置:你可以在 AndroidManifest.xml 文件中的 <application> 标签内添加以下配置来允许明文的 HTTP 流量:
```xml
<application
...
android:usesCleartextTraffic="true"
...
>
```
注意,这种方式并不推荐,因为它会降低应用程序的安全性。
3. 使用网络安全配置文件:你可以创建一个名为 `network_security_config.xml` 的文件,并将其放置在 res/xml 目录下。在文件中,你可以配置网络安全策略,允许明文的 HTTP 流量。然后在 AndroidManifest.xml 中的 <application> 标签内添加以下属性:
```xml
<application
...
android:networkSecurityConfig="@xml/network_security_config"
...
>
```
network_security_config.xml 的示例如下:
```xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true"/>
</network-security-config>
```
请注意,为了确保用户数据的安全,我们建议尽可能避免使用明文的 HTTP 流量,并使用 HTTPS。
阅读全文