2014-03-25 125 views
1

HttpClientdart:io使您能夠憑據添加到客戶端的請求,就像這樣:是否可以使用Dart http庫添加客戶端憑證?

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

的問題是,我需要多文件上傳的支持,而這已被證明極難使用dart:io做。 http庫是很多更好。

問題是,據我所知,無法向http庫中的客戶端請求添加憑據。如果我錯了,事實上有辦法做到這一點,請告訴我。

回答

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"; 

//.... 
+3

我正在使用Dart 1.15並且轉換爲Base64確實發生了變化。一個不需要Crypto包,但可以使用'dart:convert':'final auth = BASE64.encode(UTF8.encode(「$ {username}:$ {password}」));'' – Sgoettschkes

相關問題