【问题标题】:Flutter - How to get api response from a certification errored linkFlutter - 如何从认证错误链接中获取 api 响应
【发布时间】:2020-04-19 02:58:23
【问题描述】:

我正在尝试从 www.mocky.io 获取 api,但问题是,当应用程序启动时,我收到类似的错误

E/flutter ( 846): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: HandshakeException: Handshake error in client (OS Error: E/flutter ( 846): CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate(handshake.cc:354))

这就是我得到响应的方式。

  Future _fetchPost() async {
http.Response response = await http.get(url);

print(response.body);

setState(() {
  var convertDatatoJson = json.decode(response.body);
  debugPrint(convertDatatoJson.toString());
  _data = convertDatatoJson['table_menu_list'];
});}

如何验证此 API 链接的 GET 方法证书?

我提到了这个问题,对于 POST 方法https://stackoverflow.com/a/54359013/11893608

任何其他建议都会有所帮助

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    把 https 改成 http

    它将解决您的问题

    使用这个:http://www.mocky.io/v2/5dfccffc310000efc8d2c1ad

    【讨论】:

    • 没有https
    • 在此处粘贴 API
    • 我已经尝试过了,我得到了响应,但是为什么我无法在 https.upvoted() 中得到响应;
    【解决方案2】:

    尝试同时添加httpwww.

    示例:

    http://www.mocky.io/v2/5185415ba171ea3a00704eed
    

    mocky.io 可能使用www 来区分子域。这就是为什么仅在添加 http 时它不起作用的原因。

    【讨论】:

    • 感谢您特别指出,但我需要在调用 api 时忽略认证。有什么办法吗?赞成();
    • @AllwiN 我不知道如何使用http 包忽略这一点。但是你可以直接使用HttpClient 类来做到这一点。见here
    猜你喜欢
    • 2021-04-25
    • 2020-05-28
    • 2013-04-28
    • 1970-01-01
    • 2022-01-11
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多