Eri*_*ite 10 http dart flutter
我正在开发一个简单的Flutter移动应用程序,需要调用使用Basic Auth的API.
我可以使用电子邮件和密码凭证在邮递员中点击API,并在执行请求之前在Base64中编码电子邮件和密码(我假设使用":"分隔).
我不知道如何在Flutter/Dart中做到这一点......
我已经修改了http包并尝试进行Base64编码......但我只是从服务器上找回错误.
任何人都可以为基本身份验证请求提供一些指导或示例吗?
Ric*_*eap 32
假设您的服务器期望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);
}
Run Code Online (Sandbox Code Playgroud)
Nit*_*ish 10
我知道已经晚了,但如果它可以帮助任何其他人,我会发布此信息。
import 'dart:convert';
var auth = 'Basic '+base64Encode(utf8.encode('$username:$password'));
Future<Response> callAPI(param) async {
await dio.post('/api/test',
data: {'param': param},
options: Options(headers: <String, String>{'authorization': auth}));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11017 次 |
| 最近记录: |