我正在尝试通过axios在React Native中进行发布。 axios.post('https ....) 但是,当我在Android中运行此命令时,却在控制台中出现了网络错误,但在ios中同样起作用
答案 0 :(得分:0)
更改您的AndroidManifest.xml
以便接受usesCleartextTraffic="true"
,如下所示,
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<application
...
android:usesCleartextTraffic="true"
...>
...
</application>
</manifest>
因为usesCleartextTraffic指示应用程序是否打算使用明文网络流量,例如明文HTTP。面向API级别27或更低的应用程序的默认值为“ true”。面向API级别28或更高级别的应用程序默认为“ false”。
如果您想为某些域而不是其他域允许http
,则必须提供networkSecurityConfig
文件,如下所示。
转到android/app/src/main/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>
更改您的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<application
...
android:networkSecurityConfig="@xml/network_security_config"
...>
...
</application>
</manifest>
希望这对您有所帮助。放心怀疑。