/// <summary> /// 新增同资源下多链接下载 /// </summary> /// <param name="uris">相同资源下的HTTP/FTP/SFTP/Magnet下载链接集合,资源不相同则会失败</param> /// <param name="split">下载所有链接的总连接数</param> /// <param name="proxy">代理地址</param> /// <param name="position">下载队列位置,超过队列长度则排到队尾</param> /// <returns>下载请求的GID</returns> public async Task <string> AddUri(IEnumerable <string> uris, int?split = null, string proxy = null, int?position = null) { var option = split.HasValue || !string.IsNullOrWhiteSpace(proxy) ? new Options(split, proxy) : null; var res = new AddUriResponse(await _client.SendRequestAsync(new AddUriRequest { Uris = uris.ToList(), Options = option, Position = position })); return(res?.GID); }
/// <summary> /// 新增同资源下多链接下载 /// </summary> /// <param name="uris">相同资源下的HTTP/FTP/SFTP/Magnet下载链接集合,资源不相同则会失败</param> /// <param name="split">下载所有链接的总连接数</param> /// <param name="proxy">代理地址</param> /// <param name="position">下载队列位置,超过队列长度则排到队尾</param> /// <returns>下载请求的GID</returns> public async Task <string> AddUri(IEnumerable <string> uris, int?split = null, string proxy = null, int?position = null, string directory = null, ulong?maxSpeed = null) { var option = split.HasValue || !string.IsNullOrWhiteSpace(proxy) ? new Options { Split = split, HttpProxy = proxy, Directory = directory, MaxDownloadSpeed = maxSpeed } : position.HasValue ? new Options() : null; var res = new AddUriResponse(await _client.SendRequestAsync(new AddUriRequest { Uris = uris.ToList(), Options = option, Position = position })); return(res?.GID); }