我的应用程序 Cleartext HTTP 流量出现问题,不允许发送到 x。
我已经尝试将 android:usesCleartextTraffic="true" 放在我的清单中。但我想将“android:usesCleartextTraffic”标志更改为“false”以防止发送未加密的流量。
如何解决这个问题?
我的应用程序 Cleartext HTTP 流量出现问题,不允许发送到 x。
我已经尝试将 android:usesCleartextTraffic="true" 放在我的清单中。但我想将“android:usesCleartextTraffic”标志更改为“false”以防止发送未加密的流量。
如何解决这个问题?
你可以用一行代码解决这个问题。在您的 android 项目中的 properties 下打开 AssemblyInfo.cs 并添加以下代码:
[assembly: Application(UsesCleartextTraffic = true)]
假设您正在访问不支持 HTTPS 的服务器,那么您可以在网络安全配置中创建例外。你可以像这样创建一个文件net_sec_conf.xml
:
<?xml version="1.0" encoding="utf-8" ?>
<network-security-config>
<base-config cleartextTrafficPermitted="false">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">api.example.org</domain>
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</domain-config>
</network-security-config>
然后在清单文件中添加这一行:
android:networkSecurityConfig="@xml/net_sec_conf"
(假设您已将文件放在 xml 文件夹中)。这种方式将只允许指定域的明文 HTTP 流量。
当然,如果服务器支持HTTPS,那么你只需要将你的URL“http://...”改为“https://...”即可。