Web Services 使用Basic Auth +传递用户和密码来接收用户数据的Flutter HTTP请求

1aaf6o9v  于 2022-11-15  发布在  Flutter
关注(0)|答案(1)|浏览(123)

我是一个新人,不是专业的程序员(所以要温柔一点),试图构建一个Flutter应用程序,它必须在HTTP中连接到一个Web/服务器API。根据文档,要进行连接必须使用一个头部,这个头部使用基本的Ath方法,登录名和密码+内容类型。直到这一点,我想我已经找到了如何做(请参阅下面的代码片段),但是我必须向API发送用户ID和用户密码,以便接收返回的用户数据。我必须谦卑地承认,我被困在那里了......我提前感谢您的帮助!Bernard
我的代码(导入dart:convert et package:http/http.dart +后安装了所需的依赖项):

void brol() async {
String username = 'user';
String password = 'pass';
String userpass = '$username:$password';
String basicAuth =
'Basic ' + userpass;
print(basicAuth);
Response r = await get('https://www.adresse/login.php',
headers: {'authorization': basicAuth});
}

非常感谢你的回答,伯纳德

oyjwcjzk

oyjwcjzk1#

您的凭据应该是base64。您可以访问评论中的SO post
您的代码应该如下所示:

main() async {
  String username = 'user';
  String password = 'pass';
  String basicAuth =
      'Basic ' + base64Encode(utf8.encode('$username:$password'));
  print(basicAuth);

  Response r = await get('https://www.adresse/login.php',
      headers: <String, String>{'authorization': basicAuth});
  print(r.statusCode);
  print(r.body);
}

另请参阅this blog post

相关问题