通过React Native进行的Axios后期调用给网络错误提供了针对iOS而不是Android的云URL的网络错误

时间:2020-02-18 06:09:57

标签: react-native axios react-native-android

我正在尝试通过axios在React Native中进行发布。 axios.post('https ....) 但是,当我在Android中运行此命令时,却在控制台中出现了网络错误,但在ios中同样起作用

1 个答案:

答案 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>

希望这对您有所帮助。放心怀疑。