android - 对于 https 而不是 android 中的 http,获取请求在 react-native 中失败

标签 android react-native react-redux

以下是我用来发出获取请求的代码。我似乎只面临 https 请求的问题,而不是 android 中的 http。我正在使用带有模拟器的 Android Studio 来开发代码。

fetch('https://facebook.github.io/react-native/movies.json')
      .then((response) => response.json())
      .then((responseJson) => {
        console.log("Success");
      })
      .catch((error) => {
              console.error(error);
      });   

我得到的响应如下;

 D:\RNApp\newtest\TheTestApp\node_modules\react-native\Libraries\Core\ExceptionsManager.js:73 TypeError: Network request failed
        at XMLHttpRequest.xhr.onerror (D:\RNApp\newtest\TheTestApp\node_modules\whatwg-fetch\fetch.js:441)
        at XMLHttpRequest.dispatchEvent (D:\RNApp\newtest\TheTestApp\node_modules\event-target-shim\lib\event-target.js:172)
        at XMLHttpRequest.setReadyState (D:\RNApp\newtest\TheTestApp\node_modules\react-

native\Libraries\Network\XMLHttpRequest.js:569)
    at XMLHttpRequest.__didCompleteResponse (D:\RNApp\newtest\TheTestApp\node_modules\react-native\Libraries\Network\XMLHttpRequest.js:399)
    at D:\RNApp\newtest\TheTestApp\node_modules\react-native\Libraries\Network\XMLHttpRequest.js:505
    at RCTDeviceEventEmitter.emit (D:\RNApp\newtest\TheTestApp\node_modules\react-native\Libraries\vendor\emitter\EventEmitter.js:181)
    at MessageQueue.__callFunction (D:\RNApp\newtest\TheTestApp\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:353)
    at D:\RNApp\newtest\TheTestApp\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:118
    at MessageQueue.__guardSafe (D:\RNApp\newtest\TheTestApp\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:316)
    at MessageQueue.callFunctionReturnFlushedQueue (D:\RNApp\newtest\TheTestApp\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:117)

我目前正在使用 react-native v0.53.3 。我一直在寻找这个问题的解决方案已有一段时间了。如果有人可以帮助我,那就太好了。

谢谢。

最佳答案

经过大量研究和绞尽脑汁,我发现问题很简单。我使用的网络有一个加密所有 SSL 流量的代理服务器。因此解决方案是将关联的证书安装到模拟器中。

因此,我从连接到同一网络的桌面浏览器下载了与该代理服务器关联的所有证书,并将其导入到我的模拟器的 SD 卡(存储)中。可以按照 this 中提到的步骤完成此导入和安装。发布。

一旦完成,我重新运行上面的代码,我发现响应成功通过。希望这对遇到与我相同情况的任何人有所帮助。

关于android - 对于 https 而不是 android 中的 http,获取请求在 react-native 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49155531/

相关文章:

reactjs - 测试传递给 Redux HOC 的强制 PropType

android - 如何知道在 listView 行的哪个 View 中单击了?

javascript - 未应用常量文件中的设置颜色

javascript - 当 numColumns > 1 时防止 FlatList 重新渲染

javascript - React 应用程序检测用户是否刷新窗口或导航离开

reactjs - 使用 redux useDispatch 时 useEffect 缺少依赖项

java - 在 SearchView.onQueryTextSubmit() 和 AsyncTask 上更新 ListView

java - 如何导入导入org.apache.poi.ss.usermodel.Row错误?

Android资源 "best match"回退逻辑

react-native - 应用程序发布崩溃 t 不是一个函数