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

问题描述:

HttpClientdart:io使您能够凭据添加到客户端的请求,就像这样:是否可以使用Dart http库添加客户端凭证?

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

的问题是,我需要多文件上传的支持,而这已被证明极难使用dart:io做。 http库是很多更好。

问题是,据我所知,无法向http库中的客户端请求添加凭据。如果我错了,事实上有办法做到这一点,请告诉我。

您可以将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"; 

//.... 
+3

我正在使用Dart 1.15并且转换为Base64确实发生了变化。一个不需要Crypto包,但可以使用'dart:convert':'final auth = BASE64.encode(UTF8.encode(“$ {username}:$ {password}”));'' – Sgoettschkes