HTTP参数设置

需要创建HttpOption设置http参数。

HttpOption option = new HttpOption();

设置请求参数

  • 设置头部信息
      option.addHeaders(headers);
    
  • 设置请求参数
      option.setParams(params);
    
  • 设置请求类型
      option.setRequestType(RequestEnum.POST)
    
  • 设置代理
      option.setUrlProxy(urlProxy)
    

给任务设置http参数:

long taskId = Aria.download(SingleTaskActivity.this)
        .load(mUrl)
        .setFilePath(mFilePath, true)
        .option(option)
        .create();

TIP:如果你没有调用#create()#stop()等操作方法,那么你需要调用#save()才能将头部数据保存进数据库。
如下所示:

Aria.download(this).load(DOWNLOAD_URL).option(option).save();

处理文件长度

在下载文件的时候,如果你希望自己处理文件长度,你可以使用#setFileLenAdapter()方法来自定义文件长度。
⚠️为了防止内存泄漏,请务必使用文件类或静态的成员类。
创建文件长度处理器:

private static class HttpFileLenAdapter implements IHttpFileLenAdapter{
    @Override public long handleFileLen(Map<String, List<String>> headers){
      List<String> sLength = headers.get("Content-Length");
      if (sLength == null || sLength.isEmpty()) {
          return -1;
      }
      String temp = sLength.get(0);
      return Long.parseLong(temp);
  }
}

设置处理器:

option.setFileLenAdapter(new HttpFileLenAdapter());
Aria.download(SingleTaskActivity.this)
    .load(DOWNLOAD_URL)
    .option(option)
    .create();
Copyright © 2018 laoyuyu. | 蜀ICP备17031160号.            更新时间: 2019-10-24

results matching ""

    No results matching ""