如何在Android(9)Pie中允许所有网络连接类型HTTP和HTTPS?

从现在的Android 9 Pie开始,没有加密的请求将永远无法使用。默认情况下,系统会期望您默认使用TLS。您可以在此处阅读此功能,因此,如果您仅通过HTTPS发出请求,则很安全。但是,通过不同站点发出请求的应用程序(例如类似浏览器的应用程序)呢?

如何在Android 9 Pie中启用对所有类型的连接HTTP和HTTPS的请求?

回答:

实现此目的的简单方法是AndroidManifest.xml在允许http所有请求全部使用的位置使用此属性:

android:usesCleartextTraffic="true"

但是,例如,如果你想为不同的链接进行更多配置,从而允许http某些域但不允许其他域,则必须提供networkSecurityConfig文件。

要在Android 9 Pie中执行此操作,你必须networkSecurityConfigManifest application标签中设置如下:

<?xml version="1.0" encoding="utf-8"?>

<manifest ... >

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

</application>

</manifest>

然后,你xml现在必须在文件夹中创建一个文件network_security_config,就像在清单中命名该文件一样,然后从那里开始,文件内容应如下所示,以启用所有不加密的请求:

<?xml version="1.0" encoding="utf-8"?>

<network-security-config>

<base-config cleartextTrafficPermitted="true">

<trust-anchors>

<certificates src="system" />

</trust-anchors>

</base-config>

</network-security-config>

从那里出发,你一切顺利。现在,你的应用程序将请求所有类型的连接。有关此主题的更多信息,请单击此处。

以上是 如何在Android(9)Pie中允许所有网络连接类型HTTP和HTTPS? 的全部内容, 来源链接: utcz.com/qa/423033.html

回到顶部