在远程服务器上发布API时,React Native Axios超时(仅在Android设备上)。

服务器

我们有一个后端连接到一个SOAP服务器,并将其翻译成REST。SOAP服务器只能通过VPN连接。

应用

  1. React-native @0.61.4
  2. Axios @0.19.2
  3. 设备上的Android版本10

在本地运行后台时,API调用在模拟器和Android设备上都能正常工作。

但是当我们把后台部署在远程服务器上时,Android设备在试图发出请求时超时(15秒)。

我在网上尝试了一些建议的解决方案,但还是没有任何效果。

1.创建 network_security_config.xml 并将其链接到 AndroidManifest.xmlandroid:networkSecurityConfig="@xml/network_security_config".

我还尝试了下面的解决方案,没有使用 base-config刚刚 domain-config

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">remove_server_ip_address_here</domain>
    </domain-config>
</network-security-config>

2. 增加两个 android:usesCleartextTraffic="true" tools:targetApi="28"tools:targetApi="29"application 签入 AndroidManifest.xml. 也试过只添加 android:usesCleartextTraffic="true"tools:targetApi

3. 尝试添加 xmlns:tools="http://schemas.android.com/tools" android:targetSandboxVersion="1" 归根到底 AndroidManifest.xml


请记住,我确实有两个 <uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 在我 AndroidManifest.xml

同样的,只有在试图发布到远程服务器上的IP地址时,请求才会超时,而且它只在Android设备上不起作用,在模拟器上一切正常。

请帮助我,我不知道该怎么做了。

解决方案:

所以,如果你有类似的问题,事实证明,从Android 9开始,你的服务器需要SSL,否则API调用无法工作。

我的问题与安卓系统的构建设置无关。

给TA打赏
共{{data.count}}人
人已打赏
未分类

在Laravel中获取数据时, API的加载时间非常慢.

2022-9-8 19:59:36

未分类

Windows应用程序在点击按钮时大部分时间都会冻结。

2022-9-8 19:59:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索