第一种方法: 【简述】:使用Webbrowser控件读取网页,将网页中的数据读成二进制的,然后使用File.WriteAllBytes()写入文件中 private void GetWebStream() { Stream stream = webShow.DocumentStream; buffer = new byte[stream.Length]; stream.Read(buffer, 0, Convert.ToInt32(stream.Length)); //File.WriteAllBytes(address, buffer); stream.Write(buffer,0,Convert.ToInt32(stream.length)); } 第二种方法: private void GetWebStream() { HttpWebRequest Req = (HttpWebRequest)WebRequest.Create(webBrowser1.Url); Req.UserAgent = "Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.0; .NET CLR 1.1.4322)"; Req.Timeout = 30000; try { StreamReader responseReader = new StreamReader(Req.GetResponse().GetResponseStream(), Encoding.Default); string responseData = responseReader.ReadToEnd(); responseReader.Close(); StreamWriter sw = new StreamWriter(@"index.html", false, Encoding.Default); sw.Write(responseData); sw.Close(); } catch (Exception ex) { Console.WriteLine(ex); } } 第三种方法: private void button1_Click(object sender, EventArgs e) { string filename = "index.html"; string url = webBrowser1.Url.ToString(); string localPath = "F://"; DownloadOneFIleByUrlWithWebclient(filename, url, localPath); } private void DownloadOneFIleByUrlWithWebclient(string filename,string url,string localPath) { System.Net.WebClient wc = new System.Net.WebClient(); if (File.Exists(localPath + filename) == false) { Directory.CreateDirectory(localPath); } wc.DownloadFile(url, localPath + filename); }
C#中实现网页下载
最新推荐文章于 2024-08-14 15:11:02 发布