如何解决 dio https 状态 401 错误?
Posted
技术标签:
【中文标题】如何解决 dio https 状态 401 错误?【英文标题】:how can i solve dio https status 401 error? 【发布时间】:2021-10-15 15:03:15 【问题描述】:I/flutter (16411): DioError [DioErrorType.response]: Http status error [401]
I/flutter (16411): #0 DioMixin.assureDioError (package:dio/src/dio_mixin.dart:819:20)
I/flutter (16411): #1 DioMixin._dispatchRequest (package:dio/src/dio_mixin.dart:678:13)
I/flutter (16411): <asynchronous suspension>
I/flutter (16411): #2 DioMixin.fetch.<anonymous closure>.<anonymous closure> (package:dio/src/dio_mixin.dart)
I/flutter (16411): <asynchronous suspension>
【问题讨论】:
您是否尝试过使用任何 API 测试工具? 401 表示未经授权。您需要确定如何制作此 APIauthorized
。例如在标题中添加一些令牌或其他任何内容。
我已将令牌添加为 Dio().options.headers["Authorization"] = "Bearer $token";但它也反映了同样的错误
【参考方案1】:
尝试将令牌添加到 api 标头,如下所示:
Map<String, String> _headers = <String, String>
'Content-Type': 'application/json',
'Accept': 'application/json',
;
makeRequest()
_headers['access_token'] = "YOUR_ACCESS_TOKEN";
Dio dio = new Dio();
dio.get(url,
options: Options(
headers: _headers,
)));
请注意,密钥可能不是“access_token”,它取决于后端
【讨论】:
以上是关于如何解决 dio https 状态 401 错误?的主要内容,如果未能解决你的问题,请参考以下文章
flutter dio(4.0.0) 处理令牌过期(处理 401)
如何解决访问 DatoCMS 的 Apollo 错误 401