安卓这个错误怎么解决:net:ERR_CLEARTEXT_NOT_PERMITTED
时间: 2023-08-04 09:02:39 浏览: 291
这个错误通常是由于 Android 9.0 及以上版本默认禁用非加密的流量所导致的。解决此问题的方法是在应用程序的 AndroidManifest.xml 文件中添加以下内容:
```
<application
...
android:usesCleartextTraffic="true"
...>
```
如果你的应用程序使用了特定的域名,请确保在应用程序的 AndroidManifest.xml 文件中为这些域名添加以下内容:
```
<application
...
android:usesCleartextTraffic="true"
...>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">yourdomain.com</domain>
</domain-config>
</application>
```
这将允许应用程序使用非加密的流量与指定的域名进行通信。注意,这并不是一个安全的解决方案,因为它将禁用所有的流量加密,因此建议仅在测试或开发环境中使用此方法。在生产环境中,应该使用 HTTPS 协议来加密流量以确保安全。
相关问题
android studio开发because:net::ERR_CLEARTEXT_NOT_PERMITTED
这个问题是因为您的应用程序试图连接到一个不安全的 HTTP 或明文连接,而不是使用加密的 HTTPS 连接。为了解决这个问题,您需要在您的应用程序中进行以下更改:
1. 在您的 AndroidManifest.xml 文件中添加以下代码,以允许应用程序使用不安全的连接:
```
<application
...
android:usesCleartextTraffic="true"
...>
```
2. 将所有的 HTTP 请求都改为 HTTPS 请求,以确保您的应用程序使用加密的连接。
3. 如果您使用的是 Android 9 或以上版本,则需要在您的网络请求中添加以下代码,以允许使用不安全的连接:
```
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
// 在 Android 9 或以上版本中使用以下代码
builder = new OkHttpClient.Builder()
.followRedirects(false)
.followSslRedirects(false)
.retryOnConnectionFailure(false)
.cache(null)
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS)
.protocols(Arrays.asList(Protocol.HTTP_1_1));
} else {
// 在 Android 9 以下版本中使用以下代码
builder = new OkHttpClient.Builder()
.followRedirects(false)
.followSslRedirects(false)
.retryOnConnectionFailure(false)
.cache(null)
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS);
}
```
这些更改应该解决您的问题。
net::err_cleartext_not_permitt
### 回答1:
ed
这个错误是因为浏览器不允许使用不安全的 HTTP 连接来访问网站。为了保护用户的安全,现代浏览器只允许使用 HTTPS 连接来访问网站。如果您遇到这个错误,可以尝试使用 HTTPS 连接来访问网站,或者联系网站管理员升级网站的安全协议。
### 回答2:
net::err_cleartext_not_permitted是一种网络错误,指的是不允许使用“明文”连接的情况下尝试连接某个网站或应用程序。该错误通常出现在使用Chrome浏览器或其他支持HTTPS的浏览器时,在HTTPS通信被要求时,浏览器会拒绝通过非安全的HTTP协议进行通信。
这种错误的出现主要有以下几种原因:
1. 端口被占用:在使用某个端口进行通信时,如果该端口正在被其他应用程序占用,则会导致连接失败。
2. 代理服务器设置错误:如果在连接过程中使用了代理服务器,而代理服务器设置不正确,也可能导致连接失败。
3. TLS/SSL证书问题:如果某个网站的TLS或SSL证书受到了攻击或过期,也会导致浏览器拒绝连接。
4. 网站协议错误:如果某个网站或应用程序内部配置有错误,或者不允许明文连接,也会导致该错误的出现。
为了修复这种错误,我们可以尝试以下几种方法:
1. 更改端口:如果端口被占用,我们可以尝试更改端口或停止占用该端口的应用程序。
2. 检查代理服务器:如果使用代理服务器,我们需要确保代理服务器的设置正确。
3. 清除SSL/TLS证书:如果网站证书有问题,我们可以尝试清除SSL/TLS证书缓存或更换浏览器。
4. 检查网站协议:如果网站协议出现错误,我们可以尝试重新编辑或升级网站协议,以解决该问题。
总之,当我们遭遇net::err_cleartext_not_permitted错误时,应该确保端口、代理服务器、证书和网站协议等方面都正确配置,以确保正常的联网通信。
### 回答3:
net::err_cleartext_not_permitted是一种错误提示,通常在Chrome浏览器中出现。它的错误意味着,该网站试图在不加密的HTTP协议上运行,而Chrome浏览器正在使用HTTPS,也就是说它要求使用SSL加密来保证网络传输安全。
由于安全原因,最近许多浏览器都开始禁用不安全的HTTP传输。因此,如果一个站点试图在不加密的HTTP协议下运行,Chrome浏览器将会拒绝加载该网站。此外,如果您的站点打开了SSL协议,但是访问它的方式仍然是HTTP,Chrome浏览器也会提示错误。
为了解决这个问题,您需要将站点迁移到HTTPS,以确保站点能够正确加载。Https是一种基于TLS/SSL协议的安全HTTP协议,它可以保证数据传输的安全、完整、私密性和去抵制网络攻击,而且现在很多浏览器都开始推广使用。
如果您使用的是WordPress内容管理系统,则可以在站点设置中启用SSL。它将自动转换所有URL到HTTPS。使用其他CMS,您需要使用HTTPS转换插件。
总之,在Chrome中遇到net::err_cleartext_not_permitted错误时,这意味着您访问的站点未启用SSL,或者在未启用SSL的情况下使用了SSL连接,需要在服务器端检查并启用相应的加密安全配置。
阅读全文