我正在开发一个简单的Flutter移动应用程序,需要调用使用Basic Auth的API.
我可以使用电子邮件和电子邮件点击Postman中的API.密码凭证,它编码电子邮件&在执行请求之前,Base64中的密码(我假设用“:”分隔).
我不知道如何在Flutter / Dart中做到这一点……
我已经修改了http包并尝试进行Base64编码……但我只是从服务器上找回错误.
任何人都可以为基本身份验证请求提供一些指导或示例吗?
解决方法
假设您的服务器期望用户名:密码组合将其编码为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: {'authorization': basicAuth}); print(r.statusCode); print(r.body); }