android - IP地址范围的网络安全配置?
问题描述
在 Android P 中,明文通信默认是禁用的。相反,有两种选择:
- 需要在清单文件中明确声明允许明文通信
- 或者需要通过网络安全配置声明允许明文通信的允许域。
我的问题与第二种方法有关。我可以在 network_security_config.xml 中将这样的特定 IP 地址列入白名单
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">192.168.1.1</domain>
</domain-config>
</network-security-config>
但是,我想将所有私有 IP 地址列入白名单。我有一些反复试验的案例,但我无法让它发挥作用。
本质上,是否有一个选项可以在网络安全配置中定义 IP 地址范围?
解决方案
以为您正在寻找一种方法来允许特定范围的 IP 地址,但这次似乎不可能,您可以通过进行以下配置来允许所有 IP 地址并消除错误消息:
配置文件
<platform name="android">
...
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
<application android:networkSecurityConfig="@xml/network_security_config" />
</edit-config>
<resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
...
</platform>
资源/android/xml/network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
推荐阅读
- authentication - 点燃身份验证 - 响应中的 REST API 错误
- android - 如何使按钮在每次单击按钮时执行不同的“类”
- node.js - node js rest api创建未连接到sql server
- python - 对字典列表执行操作
- flutter - Speech_to_text 在重新加载课程后不起作用,为什么?
- sql-server - VS 2019 和 SQL Server 2016 之间的 system.net.http 版本混淆
- android - Flutter:获取 YouTube 视频标题
- google-chrome - 谷歌浏览器:加载资源失败:服务器响应状态为 407(需要代理身份验证)
- python - 在 C 中使用广播实现 Numpy 数组加法
- python - Smartsheet - 更新特定行中的单元格值 -Python SDK