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();