java.net.UnknownServiceException: CLEARTEXT communication to 192.168.0.71 not permitted by network security policy
时间: 2024-03-27 17:41:27 浏览: 82
这个错误通常是因为你的应用程序在 Android 9.0 或更高版本中使用了非安全的 HTTP 连接(也称为 cleartext)。在 Android 9.0 或更高版本中,默认情况下禁用了 cleartext 流量。
要解决此问题,你可以采取以下措施之一:
1. 使用 HTTPS 连接。这是最安全的选项,因为 HTTPS 连接使用 TLS/SSL 加密通信。
2. 在你的 AndroidManifest.xml 文件中添加以下代码以允许 cleartext 流量:
```xml
<application
android:usesCleartextTraffic="true"
...>
...
</application>
```
使用此选项时,请确保你的服务器端代码安全。
希望这可以帮助你解决问题。
相关问题
如何解决java.net.UnknownServiceException: CLEARTEXT communication to testfile.iot.evideocloud.com.cn not permitted by network security policy
这个错误是由于Android9.0及以上版本默认禁止应用程序使用明文传输协议(包括HTTP)而引起的。要解决这个问题,你可以使用以下三种方法之一:
1. 使用HTTPS协议进行通信:使用HTTPS协议来替代HTTP协议,因为HTTPS协议是加密的,可以保证数据传输的安全性。
2. 在AndroidManifest.xml文件中添加android:usesCleartextTraffic属性:在应用程序的AndroidManifest.xml文件中添加以下代码:
```
<application
...
android:usesCleartextTraffic="true"
...>
</application>
```
这行代码将允许应用程序使用明文传输协议。
3. 在res/xml目录下创建一个network_security_config.xml文件:在应用程序的res/xml目录下创建一个名为network_security_config.xml的文件,然后添加以下代码:
```
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
```
将这个文件添加到AndroidManifest.xml文件中:
```
<application
...
android:networkSecurityConfig="@xml/network_security_config"
...>
</application>
```
这行代码将允许应用程序使用明文传输协议。
java.net.unknown_Android 访问网络提示:java.net.UnknownServiceException: CLEARTEXT communication to not per...
这个错误是因为 Android 9.0 (API level 28) 及以上版本不再支持明文传输(Cleartext Traffic),即应用不能使用不加密的 HTTP 协议与网络进行通信。如果你需要使用 HTTP 协议进行网络通信,需要在应用的 AndroidManifest.xml 文件中添加以下代码:
```xml
<application
...
android:usesCleartextTraffic="true">
...
</application>
```
这个设置会允许应用使用明文传输,但是并不推荐在正式应用中使用明文传输,建议使用 HTTPS 协议进行加密传输。如果你已经有了一个支持 HTTPS 的服务器,应该将应用中使用的 URL 改成 HTTPS 协议的,这样就能避免使用明文传输了。
阅读全文