【问题标题】:DioError [DioErrorType.response]: Http status error [429]DioError [DioErrorType.response]:Http 状态错误 [429]
【发布时间】:2021-08-31 03:25:29
【问题描述】:

我仍在学习使用 NewsAPI.org 创建一个新闻应用程序,它正在工作,只是立即给了我这个错误:

DioError [DioErrorType.response]: Http status error [429]
I/flutter (11270): #0      DioMixin.assureDioError (package:dio/src/dio_mixin.dart:819:20)
I/flutter (11270): #1      DioMixin._dispatchRequest (package:dio/src/dio_mixin.dart:678:13)
I/flutter (11270): <asynchronous suspension>
I/flutter (11270): #2      DioMixin.fetch.<anonymous closure>.<anonymous closure> (package:dio/src/dio_mixin.dart)
I/flutter (11270): <asynchronous suspension>
I/flutter (11270): NoSuchMethodError: The getter 'data' was called on null.
I/flutter (11270): Receiver: null
I/flutter (11270): Tried calling: data

【问题讨论】:

    标签: api flutter dart dio


    【解决方案1】:

    HTTP 429 表示,您发送了太多请求。您可以通过减少请求来修复它,或者您可以在请求之间添加一些延迟。为此,您可以为此使用 Future 延迟或 Timer 函数。

    【讨论】:

    • 你能给我更多的解释吗
    • 您是如何发送请求的?在 for 循环或 while 循环中?你不可能在短时间内发送这么多请求。如果你这样做,服务器将阻止你并返回 HTTP 429。你可以像 Future.delayed(const Duration(milliseconds: 500), () =&gt; makeRequest()); 一样传递它,或者如果你要连续发送请求,你可以使用 Timer.periodic(Duration(milliseconds: 500), (Timer t) =&gt; makeRequest());
    • 我解决了 .. 我没有设置 receiveTimeout , connectTimeout ... 和 ofc 非常感谢你
    猜你喜欢
    • 1970-01-01
    • 2022-11-29
    • 2022-12-23
    • 2020-03-22
    • 2021-08-19
    • 2020-04-18
    • 2023-03-25
    • 1970-01-01
    • 2020-05-22
    相关资源
    最近更新 更多