2014-09-04 61 views
7

我想用android downloadManager下載文件;但該網址在http基本身份驗證中。我可以在應用程序中獲得用戶名和密碼。我該怎麼做才能從我的主機上下載文件?android downloadManager如何做http基本認證

DownloadManager downloadManager = (DownloadManager) appContext.getSystemService(Context.DOWNLOAD_SERVICE); 
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); 
downloadManager.enqueue(request); 

這是我的代碼。我想通過「url」下載文件;但它需要http基本認證。我想知道如何添加這樣的認證:

httpClient.getState().setCredentials(new AuthScope(HOST, 80), new UsernamePasswordCredentials(user.getEmail(), user.getPassword())); 
+0

你的問題的方式過於寬泛,儘量縮小到什麼你到底想達到和你有什麼嘗試到目前爲止 – bhargavg 2014-09-04 15:27:39

回答

13

您可以使用request對象的DownloadManager.Request.addRequestHeader(String header, String value)方法來手動添加HTTP 授權頭。

你可以在Wikipedia上看到更多關於這個頭的格式,但基本上你只需要輸入用戶名和密碼,用冒號':'連接它們,然後用base64編碼結果。

一旦你有你的編碼憑據,將它們添加到DownloadManager.Request對象有:

request.addRequestHeader("Authorization", "Basic " + encodedCredentials); 
+0

嗨,我想用這個解決方案,我不成功..我的代碼: – Cristina 2017-11-01 15:17:58