【发布时间】:2018-04-09 13:21:12
【问题描述】:
我的图像和许多其他功能位于我的后端 API(使用 java spark 框架编写)后面。这些服务仅支持 https,并且 API 通常执行附加功能(例如,它们不只是提供静态图像)。
在 React-native javascript 表单中,我这样做
const imageTest='https://10.0.1.10:4567/api/v1/get-image-simple/full-size/myImage.jpg/'
<Image source={{uri : imageTest}}
style={theme.cardImageStyle}
/>
这不起作用,因为我的服务器使用自签名证书 (并且还需要一些明确的标题)。
相同类型的图像 url 链接,在我的 android 主机中工作正常(我的应用程序是混合的,有些活动仅适用于 android,有些是 react native)。 我的 android 应用程序具有自定义 okhttp 客户端,具有所有必要的设置,可以通过 HTTPs 与我的 api 通信。
我找不到如何将我的 OkHTTP 客户端挂接到本机反应的示例/参考,以便一切都通过那里。 我看过各种错误报告,例如 this,但似乎找不到任何关于 react-native 版本中实际内容的文档。
我试过了,盲目地做
com.facebook.react.modules.network.OkHttpClientProvider.replaceOkHttpClient(
MyPersonalAppInstance.getApplicationComponent().okHttpClient());
但它似乎没有做任何事情;
【问题讨论】:
-
能否麻烦您提供一个自定义 Okhttp 客户端的完整示例?或者更好的工作回购?我正在尝试增加每个主机允许的最大请求数,但到目前为止没有取得多大成功,而您的问题是我迄今为止最接近解决方案的问题。
-
@Unforgiven 为我创建完整的示例非常耗时。但是,请搜索“react-native cert pinning”示例。好像有很多人在做。还要检查medium.com/@jaedmuva/… 和medium.com/applike/… 和github.com/approov/react-native-cert-pinner/blob/master/android/…
-
实际上,最终我必须从源代码构建自己的 RN 分支来添加此修复程序。
-
@Unforgiven RN 团队在 0.61 中引入了一个错误,他们显然禁用了覆盖的能力,但在 0.61.5 中已修复。我使用 0.60 和压倒一切的作品。
标签: react-native okhttp