2014-09-04 17 views
7

Ich möchte Android DownloadManager verwenden, um Dateien herunterzuladen; Aber die URL ist in http-Standardauthentifizierung. Und ich kann den Benutzernamen und das Passwort in der Anwendung erhalten. Was muss ich tun, um Dateien von meinem Host herunterzuladen?how android downloadManager tun http grundlegende Authentifizierung

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

Dies ist mein Code. Ich möchte die Datei über "url" herunterladen; Aber es muss HTTP-Standard-Authentifizierung. Ich möchte wissen, wie die Authentifizierung wie folgt hinzuzufügen:

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

Ihre Frage ist viel zu breit, versuchen, zu verengen, was versuchen Sie, genau das zu erreichen, und was haben Sie bisher versucht – bhargavg

Antwort

13

Sie die DownloadManager.Request.addRequestHeader(String header, String value) Methode auf Ihrem request Objekt verwenden können, um manuell die HTTP Authorization Header hinzufügen.

Sie können mehr über das Format dieser Header auf Wikipedia lesen, aber im Grunde nehmen Sie nur den Benutzernamen und das Passwort, verbinden sie mit einem Doppelpunkt ‚:‘ Zeichen, dann ist das Ergebnis base64 kodieren.

Sobald Sie Ihre verschlüsselten Zugangsdaten haben, fügen sie dem DownloadManager.Request Objekt mit:

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

Hallo, ich versuche mit dieser Lösung und es gelingt mir nicht .. Mein Code: – Cristina

Verwandte Themen