我正在使用React-Native为iOS和Android开发原生应用。我必须使用https://协议来访问第三方REST API。 API有一个登台服务器和一个生产服务器。
我成功向iOS上的两台服务器发出请求。在Android上,我可以访问暂存,但不能访问生产。使用Postman对两台服务器的请求都是成功的。
Android上的生产请求给我带来了臭名昭着的[TypeError:网络请求失败]消息。我浏览了这个网站和其他地方,并了解到这通常是证书信任问题的结果(这不是我非常了解的事情)。我使用openssl来查看证书,并在检查暂存时看到了三个证书,只有两个用于生产。我尝试在Android HTTPS和SSL页面上关注自定义TrustManager示例:https://developer.android.com/training/articles/security-ssl.html
以及SSL固定的教程:https://medium.com/the-many/a-year-of-react-native-ssl-pinning-3801a973cbfe
没有运气。我应该提一下,在任何时候我都没有看到任何涉及证书信任错误的logcat消息,所以我甚至不能完全确定这是我的问题..它只是根据我能够做到的唯一有意义的事情找出来。我尝试过Android Studio偏好设置>工具>服务器证书并启用“自动接受不受信任的证书”作为测试的完整性检查。仍然没有运气,也没有日志消息的变化。
请求在React-Native中的格式完全相同,并且在我的四个场景中有三个成功(iOS staging& prod,Android staging)。我错过了什么?