我正在开发一个简单的 Flutter 移动应用程序,需要调用使用基本身份验证的 API。
我可以使用电子邮件和密码凭证来访问 Postman 中的 API,它会在执行请求之前以 Base64 格式对电子邮件和密码进行编码(我假设用“:”分隔)。
我不知道如何在 Flutter / Dart 中做到这一点......
我修改了 http 包并尝试进行 Base64 编码...但我只是从服务器返回错误。
任何人都可以提供一些基本身份验证请求的指导或示例吗?
假设您的服务器期望username:password
组合将被编码为 UTF-8(参见RFC 7617 https://www.rfc-editor.org/rfc/rfc7617有关更多详细信息),然后使用:
import 'dart:convert';
import 'package:http/http.dart';
main() async {
String username = 'test';
String password = '123£';
String basicAuth =
'Basic ' + base64.encode(utf8.encode('$username:$password'));
print(basicAuth);
Response r = await get(Uri.parse('https://api.somewhere.io'),
headers: <String, String>{'authorization': basicAuth});
print(r.statusCode);
print(r.body);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)