取消

httpclient下载文件

httpclient下载文件


上代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private async Task<string> DownLoadFileAsync(string url)
{
    var handler = new HttpClientHandler() { UseCookies = true };
    var client = HttpClientFactory.Create(handler);
    client.DefaultRequestHeaders.Add("User-Agent", @"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0");//添加自主驱动 很重要,没细研究,确实添加上就能下载文件
    client.DefaultRequestHeaders.Add("Accept", @"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");//添加数据格式
    byte[] bytes = null;
    bytes = await client.GetByteArrayAsync(url);

    var tplfile = $"c:/{Guid.NewGuid()}{Path.GetExtension(url)}";

    using (var fs = new System.IO.FileStream(tplfile, FileMode.CreateNew))
    {
        fs.Write(bytes, 0, bytes.Length);
        fs.Close();
    }
    return tplfile;
}

本文会经常更新,请阅读原文: https://dashenxian.github.io/post/httpclient%E4%B8%8B%E8%BD%BD%E6%96%87%E4%BB%B6 ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 小神仙 (包含链接: https://dashenxian.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 (125880321@qq.com)

登录 GitHub 账号进行评论