C# WebClient 类是一个基于异步编程模型的类,用于从网络上下载数据或向网络上上传数据。以下是 WebClient 类可以实现的一些功能:
下载文件:可以使用 WebClient 类的 DownloadFile 方法从指定的 URL 下载文件并将其保存到本地文件系统中。
WebClient client = new WebClient();
string url = "https://example.com/file.txt";
string filePath = "C:/file.txt";
client.DownloadFile(url, filePath);
上传文件:可以使用 WebClient 类的 UploadFile 方法将本地文件上传到指定的 URL。
WebClient client = new WebClient();
string url = "https://example.com/upload";
string filePath = "C:/file.txt";
byte[] fileBytes = File.ReadAllBytes(filePath);
client.UploadFile(url, filePath, fileBytes);
下载字符串:可以使用 WebClient 类的 DownloadString 方法从指定的 URL 下载文本数据并将其作为字符串读取。
WebClient client = new WebClient();
string url = "https://example.com/text";
string result = client.DownloadString(url);
上传字符串:可以使用 WebClient 类的 UploadString 方法将字符串数据上传到指定的 URL。
WebClient client = new WebClient();
string url = "https://example.com/upload";
string data = "Hello, world!";
client.UploadString(url, data);
设置请求头:可以使用 WebClient 类的方法设置 HTTP 请求头,例如设置 User-Agent、Cookie 等。
WebClient client = new WebClient();
client.Headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3";
处理异常:WebClient 类在下载或上传数据时可能会抛出异常,例如网络连接错误、HTTP 错误等。可以使用 try-catch 语句处理这些异常。
WebClient client = new WebClient();
try
{
string result = client.DownloadString("https://example.com/text");
}
catch (WebException ex)
{
Console.WriteLine("Error: " + ex.Message);
}