首页 > 解决方案 > Flutter + DIO:如何通过 DIO 在请求中传递 curl 命令的选项?

问题描述

我正在尝试对 NextCloud 服务器执行 GET 请求。NextCloud 文档给出了如何使用 curl 命令执行请求的示例:

curl -u 用户名:密码 -X GET 'https://cloud.example.com/ocs/v1.php/...' -H "OCS-APIRequest: true"

如何将 -u 用户名:密码之类的选项放入 dio?我已经上下阅读了 DIO 文档,但我无法找出解决方案......

提前非常感谢!

标签: flutterdarthttprequestnextclouddio

解决方案


试试这个:) 或者使用 Dio 只使用下面的标题

import 'dart:convert';
import 'package:http/http.dart' as http;

void main() async {
  var uname = 'username';
  var pword = 'password';
  var authn = 'Basic ' + base64Encode(utf8.encode('$uname:$pword'));

  var headers = {
    'OCS-APIRequest': 'true',
    'Authorization': authn,
  };

  var res = await http.get('https://cloud.example.com/ocs/v1.php/', headers: headers);
  if (res.statusCode != 200) throw Exception('http.get error: statusCode= ${res.statusCode}');
  print(res.body);
}

推荐阅读