在flutter代码中添加Authorization标头会返回错误响应,而在poster中同样的请求也能正常工作



我在flutter中遇到了一个奇怪的错误,只需添加一个授权头就可以出错。

我当前遇到的问题,

postData(data, apiUrl) async {
var fullUrl = _url + apiUrl;
var at = await _accessToken;
print('access token is $at');
return await http.post(
Uri.parse(fullUrl),
body: jsonEncode(data),
encoding: Encoding.getByName("utf-8"),
headers: {
'Authorization': 'Bearer $at',    <---------------- Adding this line of code prints an error in the console
'Content-Type': 'application/json',
'Accept': 'application/json'
},
);

在我的代码中,如果我在上面的代码中添加我用箭头指向的Authorization标头,我会在控制台上收到一个错误,上面写着

D/libc-netbsd(32217):[getaddrinfo]:mtkhostname=主机名_i_provied;servname=(null);cache_mode=(null),netid=0;标记=0;app_uid=10217;ai_addrlen=0;ai_canonname=(null);ai_flags=1024;ai_family=0 D/libc netbsd(32217):getaddrinfo:host_name_i_provided从代理获取结果>gt;E/flutter(32217):[错误:flutter/lib/ui_dart_state.cc(199)]未处理的异常:FormatException:意外字符(在第3行,特征1)E/颤动(32217):E/颤动^E/颤动(32217):E/颤动(dart:convert-patch/convert_patch.dart:1404:5)E/flutter(32217):#1
_ChunkedJsonParser.parseNumber(dart:convert/json.dart:506:36)E/flutter(32217):#5 JsonCodec.decode(dart:convert/json.dart:157:41)E/flutter(32217):#6
_RescueMeFormPageState.submitData(包:redcross/Pages/Disaster/rescue_me_form_page.dart:57:21)E/颤振(32217):E/颤振

但如果我删除该标头,我会得到以下有效响应,

I/flutter(32217):{状态:400,数据:{代码:TokenException,消息:未找到授权令牌}}

我不明白为什么会出现这个错误

我还想指出的几点是,$at变量包含正确的访问令牌。我通过添加打印报表验证了这一点。因此代码'Authorization': 'Bearer $at',的行是有效的。

此外,如果我从邮递员那里提出同样的请求,我会得到有效的回复。

有人能帮我找出这个错误的解决办法吗。谢谢

问题不在于令牌,而在于JSON解析检查解析响应的代码。

相关内容

  • 没有找到相关文章

最新更新