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 = "https://www.yisu.com/ask/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); }