【问题标题】:How to test api calls from flutter app to localhost service?如何测试从 Flutter 应用程序到 localhost 服务的 api 调用?
【发布时间】:2020-07-11 19:23:44
【问题描述】:

我正在尝试了解如何测试从我的 Flutter 应用程序(在模拟器中运行)到我的后端服务的 http 调用,该后端服务在我的电脑上 https://localhost:8080 的调试中运行。

我知道直接从颤振与https://localhost:8080 交谈是行不通的,因为它意味着“模拟器的本地主机”,所以我正在和我的电脑本地 ip 交谈,但我得到了CERTIFICATE_VERIFY_FAILED,因为当然https://192.168.1.123:8080 没有'没有签名证书。

处理这种情况的正确方法是什么?

【问题讨论】:

    标签: api flutter android-emulator localhost ssl-certificate


    【解决方案1】:

    您需要使用主机的本地主机,而不是模拟器的本地主机。为此,您需要使用 10.0.2.2,然后使用您的端口号,因此在您的情况下,对 https://10.0.2.2:8080 进行 http 调用。在内部,Android 将对 10.0.2.2 的调用重新路由到 127.0.0.1,这是您的开发机器上的 localhost ip。

    How do you connect localhost in the Android emulator?

    更多信息:https://developer.android.com/studio/run/emulator-networking.html

    【讨论】:

    • 谢谢。我应该回退到http还是我可以坚持使用https?
    • 我不确定,我个人使用http。我不认为 https 开箱即用,我在 Medium 上找到了一篇关于为开发目的设置 SSL 的文章。 medium.com/@noumaan/ssl-app-dev-a2923d5113c6
    • 这是否也适用于 iOS 模拟器/设备?谢谢。
    • 如果您的意思是“这个”是 10.0.2.2 IP 地址:不,这仅适用于 Android。对于 iOS,您可以使用普通的 127.0.0.1
    猜你喜欢
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    • 2019-04-29
    • 2019-07-13
    • 1970-01-01
    相关资源
    最近更新 更多