C#下载网页的实现
来源:互联网 发布:怀孕26周胎儿彩超数据 编辑:程序博客网 时间:2024/06/05 14:08
第一种方法: 【简述】:使用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); }