2

我的应用程序 Cleartext HTTP 流量出现问题,不允许发送到 x。

我已经尝试将 android:usesCleartextTraffic="true" 放在我的清单中。但我想将“android:usesCleartextTraffic”标志更改为“false”以防止发送未加密的流量。

如何解决这个问题?

4

2 回答 2

9

你可以用一行代码解决这个问题。在您的 android 项目中的 properties 下打开 AssemblyInfo.cs 并添加以下代码:

[assembly: Application(UsesCleartextTraffic = true)]
于 2021-07-09T08:10:41.430 回答
0

假设您正在访问不支持 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://...”即可。

于 2021-04-13T11:30:04.463 回答