【问题标题】:How do I inspect network traffic on a react native app on iOS?如何在 iOS 上的 react 本机应用程序上检查网络流量?
【发布时间】:2016-01-27 18:58:22
【问题描述】:

我正在使用最新的 React Native(撰写本文时为 0.18)并且想检查我的 iOS 模拟器发出的网络请求。 使用最新的 Xcode“工具”我得到这个:。我在 10.11 和 10.10 机器上都遇到了同样的错误,都使用了最新的 Xcode。

我也尝试过使用 Charles,但它无法拦截流量。 Wireshark 可以看到,但是我要的数据是基于 SSL 的,所以我无法访问它。

作为一名网络开发人员,理想情况下,我想在我的 chrome 调试器中检查网络流量,但我知道这在这种环境下是不可能的,但仅仅查看原始数据包数据对于调试目的来说不够友好。

谁知道这个问题的解决方案?

【问题讨论】:

  • Charles Proxy 应该可以工作并且会解密 SSL 流量,除非证书被固定。我一直使用查尔斯。
  • @zaph:你能描述一下你是如何设置 Charles 和 iOS 模拟器的吗?
  • 帮助 > SSL 代理 > 在 iOS 模拟器中安装 Charles Root 证书)

标签: ios xcode networking react-native


【解决方案1】:

事实证明,使用 Charles 是一个不错的选择。

只需设置 SSL 证书: Help > SSL Proxying > 在 charles 中安装 Charles Root Certificate in iOS Simulators 并开心!

【讨论】:

  • 即使没有 SSL,我也无法让 Charles Proxy 工作。我无法让 websockets 调试器在我的移动设备上工作?否则,它会使用 Charles Proxy 从我的计算机上下载代码。我想您不知道如何进行此设置?
  • 对我来说也一样,我无法让 Charles 显示请求,即使我向本地主机发出请求,没有 SSL。
  • @alexmngn 你找到解决方案了吗? ...我要解决的主要问题是让我的团队的所有成员都可以使用相同的代码,而无需更改 IP 地址。在目标 C 委托和 websockets 文件等中,我指定了一个域名(而不是 IP 地址或本地主机),开发人员可以通过他们的 /etc/hosts 文件在本地重定向到 127.0.0.1。然后他们所要做的就是让查尔斯代理为他们的 iPhone 正常工作。基本的 HTTP 流量有效,但以下 URL 似乎无法通过 websockets 进行故障转移:my.domain.com:8081/debugger-proxy?role=client
【解决方案2】:

我可能有点晚了,但是当我搜索这个主题时,我发现这个https://github.com/infinitered/reactotron 工具非常有用,它不仅可以显示网络流量,还可以显示应用程序中的错误和状态

【讨论】:

    【解决方案3】:

    实际上,现在您可以使用 0.33 版本中引入的 react native 网络检查器查看网络流量。我在我的视频中演示了如何使用检查器,关于如何在 React Native 中发出网络请求(从 1:46 开始)http://codecookbook.co/post/how-to-make-network-requests-in-react-native/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多