1.HttpWebResponse方法
public void GetPostContent(string url, string localSavePath)
{try{ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);myRequest.Method = "GET";myRequest.ContentType = "application/x-www-form-urlencoded";myRequest.Proxy = null;// Get responseHttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();Stream responseStream = myResponse.GetResponseStream();Stream stream = new FileStream(localSavePath, FileMode.Create);byte[] bArr = new byte[1024];int size = responseStream.Read(bArr, 0, (int)bArr.Length);while (size > 0){stream.Write(bArr, 0, size);size = responseStream.Read(bArr, 0, (int)bArr.Length);}stream.Close();responseStream.Close();}catch (System.Exception ex){throw ex;}
}
2.HttpClient方法
public static async void DownloadFile(string url, string filePath)
{try{using (HttpClient client = new HttpClient()){HttpResponseMessage response = await client.GetAsync(url, HttpCompletionOption.ResponseHeadersRead);response.EnsureSuccessStatusCode(); // 确保HTTP成功状态值 // 读取响应内容并保存到文件 using (Stream contentStream = await response.Content.ReadAsStreamAsync(),fileStream = File.Create(filePath)){await contentStream.CopyToAsync(fileStream);}Console.WriteLine("文件下载完成。");}}catch (HttpRequestException e){MessageBox.Show(e.ToString());}
}