HttpClient
中的dart:io
类使您可以向客户端请求添加凭据,如下所示:
var client = new HttpClient()
..addCredentials( ...creds... );
问题在于我需要多部分文件上传支持,并且使用dart:io
证明这非常困难。 http
库很多更好。
问题在于,据我所知,无法在http
库中向客户端请求添加凭据。如果我错了,实际上有办法,请告诉我。
答案 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}"));