在http网络请求时,react-native或者Android报错:Network request failed时

原因:android9.0以上由于安全性高了,所有不做处理http不能使用,解决方法有如下三种
1.降级targetSdkVersion的版本,降到27或27以下
2.服务器请求http改为https (推荐)
3.兼容http请求
# 在清单文件中设置networkSecurityConfig属性
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config">
</application>
</manifest>
# 在res/xml文件夹下创建network_security_config.xml
<?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.0及以上版本中因安全性增强导致的HTTP请求失败问题。提供了三种解决方案:降级targetSdkVersion版本、将服务器请求从HTTP改为HTTPS,以及通过配置networkSecurityConfig来兼容HTTP请求。

2万+

被折叠的 条评论
为什么被折叠?



