1、去重
2、分享 3、视频播放 4、批量删除,重新下载 5、自定义标题(仅博主视频) 6、授权页面去掉博主添加,新增关注列表 7、图文视频合成优化 8、其他优化
This commit is contained in:
@@ -14,29 +14,12 @@ namespace dy.image
|
||||
public DownloadHelper(HttpClient httpClient)
|
||||
{
|
||||
_httpClient = httpClient;
|
||||
_httpClient.Timeout = TimeSpan.FromSeconds(60); // 下载超时30秒
|
||||
_httpClient.Timeout = TimeSpan.FromSeconds(60); // 下载超时60秒
|
||||
_httpClient.DefaultRequestHeaders.Add("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2");
|
||||
_httpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36");
|
||||
_httpClient.DefaultRequestHeaders.Add("Referer", "https://www.douyin.com");
|
||||
}
|
||||
|
||||
/// <summary>下载网络文件到指定路径</summary>
|
||||
public async Task DownloadFileAsync(string url, string savePath)
|
||||
{
|
||||
if (string.IsNullOrEmpty(url)) throw new ArgumentNullException(nameof(url));
|
||||
if (string.IsNullOrEmpty(savePath)) throw new ArgumentNullException(nameof(savePath));
|
||||
|
||||
// 创建目录(如果不存在)
|
||||
var directory = Path.GetDirectoryName(savePath)!;
|
||||
if (!Directory.Exists(directory)) Directory.CreateDirectory(directory);
|
||||
|
||||
// 下载文件
|
||||
using var response = await _httpClient.GetAsync(url, HttpCompletionOption.ResponseHeadersRead);
|
||||
response.EnsureSuccessStatusCode(); // 非2xx状态码抛出异常
|
||||
|
||||
using var stream = await response.Content.ReadAsStreamAsync();
|
||||
using var fileStream = new FileStream(savePath, FileMode.Create, FileAccess.Write, FileShare.None, 8192, true);
|
||||
await stream.CopyToAsync(fileStream);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user