Android请求接口时,报异常 Cleartext HTTP traffic to app.mydomain.com not permitted。
这个错误表明你正在尝试在应用中使用非加密的 HTTP 连接,但 Android P (9.0) 及其后续版本默认不允许使用非加密的 HTTP 连接。这是因为非加密的 HTTP 连接可能会使用户的数据暴露给第三方。
如果你无法更改你的 API 以使用 HTTPS,那么你可以在你的应用中设置以允许使用非加密的 HTTP 连接。但是,请注意,这可能会使你的应用的用户的数据处于风险之中。
以下是如何在 AndroidManifest.xml 文件中设置以允许使用所有的 HTTP 连接:
<application
android:usesCleartextTraffic="true"
...>
...
</application>
另外,你也可以创建一个网络安全性配置文件以允许使用来自特定域名的 HTTP 连接。首先,你需要在 res/xml 目录中创建一个 XML 文件,例如 network_security_config.xml,并在其中添加如下内容:
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">app.mydomain.com</domain>
</domain-config>
</network-security-config>
然后,你需要在 AndroidManifest.xml 文件中引用这个文件:
<application
android:networkSecurityConfig="@xml/network_security_config"
...>
...
</application>
这将允许你的应用使用来自 msefa.pimspeak.com 的非加密的 HTTP 连接。