我正在开发一个简单的Flutter移动应用程序,该应用程序需要调用使用基本身份验证的API。
我可以使用电子邮件和密码凭据在Postman中访问API,并在执行请求之前在Base64中对电子邮件和密码进行编码(我假设使用“:”分隔)。
我不确定如何在Flutter / Dart中执行此操作…
我已经修补了http包,并尝试进行Base64编码…但是我只是从服务器中获取了错误。
任何人都可以为基本身份验证请求提供一些指导或示例吗?
假设您的服务器期望username:password组合将其编码为UTF-8(有关更多详细信息,请参阅RFC 7617),然后使用以下命令:
username:password
import 'dart:convert'; import 'package:http/http.dart'; main() async { String username = 'test'; String password = '123£'; String basicAuth = 'Basic ' + base64Encode(utf8.encode('$username:$password')); print(basicAuth); Response r = await get('https://api.somewhere.io', headers: <String, String>{'authorization': basicAuth}); print(r.statusCode); print(r.body); }