C#中实现网页下载

来源:互联网 发布:打开dll的软件 编辑:程序博客网 时间:2024/05/22 03:07
第一种方法:    【简述】:使用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);        }

 
原创粉丝点击