是否可以使用Dart http库添加客户端凭据?

时间:2014-03-25 18:36:00

标签: dart

HttpClient中的dart:io类使您可以向客户端请求添加凭据,如下所示:

var client = new HttpClient()
  ..addCredentials( ...creds... );

问题在于我需要多部分文件上传支持,并且使用dart:io证明这非常困难。 http很多更好。

问题在于,据我所知,无法在http库中向客户端请求添加凭据。如果我错了,实际上有办法,​​请告诉我。

2 个答案:

答案 0 :(得分:7)

您可以将authorization标头添加到多部分请求中。对于基本身份验证:

import 'dart:convert';
import 'package:crypto/crypto.dart';

var request = new http.MultipartRequest("POST", url);

final auth = CryptoUtils.bytesToBase64(UTF8.encode("$username:$password"));
request.headers['authorization'] = "Basic $auth";

//....

答案 1 :(得分:0)

现在不建议使用BASE64和UTF8(尽管实际上已重命名为小写)。使用...

import 'dart:convert';

String token = "Basic " + base64.encode(utf8.encode("${username}:${password}"));