我正在开发一个简单的Flutter 移动应用程序,它需要调用使用基本身份验证的API.
我可以使用邮箱&;密码凭据访问Postman中的API,并且在执行请求之前,它会将邮箱&;密码编码为base64(我假设使用":"分隔).
我不知道如何在Flutter 打/dart 中做到这一点.
我已经修补了http包,并try 进行base64编码……但我只是从服务器拿回了错误.
有人能为基本身份验证请求提供一些指导或示例吗?
我正在开发一个简单的Flutter 移动应用程序,它需要调用使用基本身份验证的API.
我可以使用邮箱&;密码凭据访问Postman中的API,并且在执行请求之前,它会将邮箱&;密码编码为base64(我假设使用":"分隔).
我不知道如何在Flutter 打/dart 中做到这一点.
我已经修补了http包,并try 进行base64编码……但我只是从服务器拿回了错误.
有人能为基本身份验证请求提供一些指导或示例吗?
假设您的服务器预期username:password
组合将使用UTF-8进行编码(有关更多详细信息,请参见RFC 7617),然后使用以下代码:
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);
}