c#http下载zip
时间: 2024-11-20 19:30:03 浏览: 11
在C#中,你可以使用`HttpClient`类以及一些辅助库(如`System.IO.Compression`或第三方库如`SharpZipLib`)来下载ZIP文件。下面是一个基本的示例,展示了如何使用`HttpClient`下载并保存到本地:
```csharp
using System;
using System.IO;
using System.Net.Http;
public class ZipDownloader
{
public async void DownloadZipAsync(string url, string savePath)
{
using (var client = new HttpClient())
{
try
{
// 获取HTTP响应内容
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
// 创建一个FileStream用于保存ZIP文件
var fileStream = File.Open(savePath, FileMode.Create);
// 将响应内容流写入FileStream
await response.Content.CopyToAsync(fileStream);
// 关闭流
fileStream.Close();
Console.WriteLine($"Downloaded ZIP from {url} and saved to {savePath}");
}
catch (Exception ex)
{
Console.WriteLine($"Error downloading ZIP: {ex.Message}");
}
}
}
}
// 调用方法
public static void Main()
{
ZipDownloader downloader = new ZipDownloader();
string zipUrl = "http://example.com/file.zip";
string saveLocation = @"C:\temp\file.zip";
downloader.DownloadZipAsync(zipUrl, saveLocation).Wait(); // 使用async/await处理异步操作
}
```
在这个例子中,你需要先安装`System.Net.Http`命名空间。如果需要解压ZIP文件,那么还需要`System.IO.Compression.ZipFile`或其他库来解析和提取。
阅读全文