【问题标题】:I get an error while I send the following http get request. I use flutter 2.5发送以下 http 获取请求时出现错误。我使用颤振 2.5
【发布时间】:2021-12-20 15:08:54
【问题描述】:

这是导致错误的代码行

var currencyData = await http.get(Uri.parse('https://rest.coinapi.io/v1/exchangerate/BTC/USD?apikey=------------------------'));

这是错误日志

E/flutter (20209): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: HandshakeException: Handshake error in client (OS Error: 
E/flutter (20209):  CERTIFICATE_VERIFY_FAILED: certificate has expired(handshake.cc:359))
E/flutter (20209): #0      _SecureFilterImpl._handshake (dart:io-patch/secure_socket_patch.dart:101:69)
E/flutter (20209): #1      _SecureFilterImpl.handshake (dart:io-patch/secure_socket_patch.dart:143:25)
E/flutter (20209): #2      _RawSecureSocket._secureHandshake (dart:io/secure_socket.dart:794:54)
E/flutter (20209): #3      _RawSecureSocket._tryFilter (dart:io/secure_socket.dart:924:19)
E/flutter (20209): <asynchronous suspension>
E/flutter (20209): 
D/mali_winsys(20209): new_window_surface returns 0x3000,  [720x1280]-format:1
D/libEGL  (20209): eglInitialize EGLDisplay = 0xd867f7c4
I/OpenGLRenderer(20209): Initialized EGL, version 1.4
D/mali_winsys(20209): new_window_surface returns 0x3000,  [720x1280]-format:1
I/Timeline(20209): Timeline: Activity_idle id: android.os.BinderProxy@a6bd033 time:158054628
E/flutter (20209): [ERROR:flutter/shell/common/shell.cc(93)] Dart Unhandled Exception: HandshakeException: Handshake error in client (OS Error: 
E/flutter (20209):  CERTIFICATE_VERIFY_FAILED: certificate has expired(handshake.cc:359)), stack trace: #0      _SecureFilterImpl._handshake (dart:io-patch/secure_socket_patch.dart:101:69)
E/flutter (20209): #1      _SecureFilterImpl.handshake (dart:io-patch/secure_socket_patch.dart:143:25)
E/flutter (20209): #2      _RawSecureSocket._secureHandshake (dart:io/secure_socket.dart:794:54)
E/flutter (20209): #3      _RawSecureSocket._tryFilter (dart:io/secure_socket.dart:924:19)
E/flutter (20209): <asynchronous suspension>
E/flutter (20209): 

【问题讨论】:

    标签: flutter http get


    【解决方案1】:

    这是一个 https 协议问题。由于 url 工作正常,更像是您的设备存在问题。尝试调整其时钟可能会解决此问题,因为 https 需要客户端和服务器都具有相同的当前时间。 如果此问题仍然存在,请尝试在其他设备上运行您的代码。

    【讨论】:

    • 我在另一台设备上运行它并且它工作正常。有没有办法在我自己的设备上运行它?我真的需要在这个设备上运行它。
    • 你可以试试这个解决方案来解决这个问题:stackoverflow.com/a/61312927/5818075
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 2021-04-04
    • 1970-01-01
    • 2013-12-11
    相关资源
    最近更新 更多