【问题标题】:Flutter HTTP request using Basic Auth + passing user and password to receive user data backFlutter HTTP 请求使用 Basic Auth + 传递用户和密码来接收用户数据
【发布时间】:2019-10-23 15:34:20
【问题描述】:

我是一个新手,不是专业的编码员(所以要温柔),我正在尝试构建一个必须连接到 HTTP 中的 Web/服务器 API 的 Flutter 应用程序。 根据文档,要建立连接,必须使用标头,此标头使用基本 Ath 方法,带有登录名和密码 + 内容类型。 到那时我想我已经找到了方法(参见下面的代码 sn-p),但我必须向 API 发送用户 ID 和用户密码才能接收回用户数据。我必须谦虚地承认我被困在那里...... 我提前感谢您的帮助! 伯纳德

我的代码(导入 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});
}

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

【问题讨论】:

标签: web-services flutter dart


【解决方案1】:

您的凭据应为 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 2020-07-30
    • 2021-09-03
    相关资源
    最近更新 更多