【安卓】服务器无接收到数据

模拟器上可以,但是真机不行
显然是安卓版本这一类的环境问题
原因是安卓9之后有安全限制

配置 ucloud 相关
AndroidManifest

   <application
        android:networkSecurityConfig="@xml/network_security_config">
    </application>

创建 network_security_config.xml 文件

<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">cn-bj.ufileos.com</domain>
    </domain-config>
</network-security-config>

networkSecurityConfig是什么呢
从Nougat(Android 7)一个名为“Network Security Configuration”的新安全功能也随之而来。如果应用程序的SDK高于或等于24,则只有系统证书才会被信任。
网络安全性配置特性让应用可以在一个安全的声明性配置文件中自定义其网络安全设置,而无需修改应用代码。可以针对特定域和特定应用配置这些设置。此特性的主要功能如下所示:

  • 自定义信任锚:针对应用的安全连接自定义哪些证书颁发机构 (CA) 值得信任。例如,信任特定的自签署证书或限制应用信任的公共 CA 集。
  • 仅调试重写:在应用中以安全方式调试安全连接,而不会增加已安装用户的风险。 明文通信选择退出:防止应用意外使用明文通信。
  • 证书固定:将应用的安全连接限制为特定的证书。

下面分别来看看具体的用法

  • 自定义可信 CA
    应用可能需要信任自定义的 CA 集,而不是平台默认值。出现此情况的最常见原因包括:

  • 连接到具有自定义证书颁发机构的主机,如自签署或在公司内部签发的 CA。

  • 将 CA 集仅限于您信任的 CA,而不是每个预装 CA。
    信任系统中未包含的附加 CA。

  • 默认情况下,来自所有应用的安全连接(使用 TLS 和 HTTPS 之类的协议)均信任预装的系统 CA,而面向 Android 6.0(API 级别 23)及更低版本的应用默认情况下还会信任用户添加的 CA 存储。应用可以使用 base-config(应用范围的自定义)或 domain-config(按域自定义)自定义自己的连接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阢Lara

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值