【问题标题】:how android downloadManager do http basic authenticationandroid downloadManager如何做http基本认证
【发布时间】:2014-09-04 15:21:10
【问题描述】:

我想使用android downloadManager 来下载文件;但 url 在 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()));

【问题讨论】:

  • 你的问题太宽泛了,试着缩小到你到底想达到什么目标以及到目前为止你尝试了什么

标签: java android


【解决方案1】:

您可以在 request 对象上使用 DownloadManager.Request.addRequestHeader(String header, String value) 方法手动添加 HTTP Authorization 标头。

您可以在 Wikipedia 上阅读有关此标头格式的更多信息,但基本上您只需输入用户名和密码,用冒号 ':' 字符连接它们,然后对结果进行 base64 编码。

获得编码凭据后,将它们添加到 DownloadManager.Request 对象:

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

【讨论】:

  • 嗨,我正在尝试这个解决方案,但我没有成功。我的代码:
猜你喜欢
  • 2012-01-06
  • 2016-07-27
  • 1970-01-01
  • 2012-01-02
  • 2011-05-06
  • 1970-01-01
  • 2011-05-03
  • 2012-01-09
  • 1970-01-01
相关资源
最近更新 更多