Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished in(发表于) 2014/7/11 9:23:01 C#教程:WebClient类使用实例
C#教程:WebClient类使用实例|方法
WebClient类WebClient类提供向URI标识的任何本地、Intranet或Internet资源发送数据以及从这些资源接收数据的公共方法WebClient类中,最常用的是DownloadFile方法,下面对其进行详细介绍。DownloadFile方法将具有指定URI的资源下载到本地文件。语法:public void DownloadFile(string address,string fileName)参数说明如下。address:指定下载数据的URI。Filename:要接收数据的本地文件的名称在C#中,可以通过HttpWebResponse类与WebRequest类实现文件的下载,本实例将实现HTML网页的下载。运行本实例,单击窗体中的【获取网页内容】按钮,即可下载任何网站的主页,并且可以通过WebClient类将其保存到指定位置。当下载HTML页时,示例运行结果如图1和图2所示,当要将HTML页下载到本地硬盘上时,示例运行结果如图3和图4所示。图1 提示信息图2 运行结果图3“另存为”窗体图4 提示窗体程序开发步骤如下所示。(1)在VS2005项目中添加一个窗体。(2)在窗体上添加两个TextBox文本框,分别用于获得URL信息与保存文件的路径信息。(3)在窗体上添加两个Button按钮,用来触发相应的事件,同时添加一个多行TextBox文本框,用于显示信息。(4)程序代码。public void TryRequset (string StrUrl){HttpWebResponse response;WebRequest request;try{request = WebRequest.Create(StrUrl);request.Credentials = CredentialCache.DefaultCredentials;response = (HttpWebResponse)request.GetResponse();Stream dataStream = response.GetResponseStream();StreamReader reader = new StreamReader(dataStream);string responseFromServer = reader.ReadToEnd();this.richTextBox1.Text = responseFromServer.ToString();reader.Close ();dataStream.Close ();response.Close();}catch{MessageBox.Show("URL格式不正确或连接不到internet");return;}}通过调用TryRequset方法传递URL,并获得目标机器的HTML信息,实现代码如下:private void button1_Click(object sender, EventArgs e){if (this.textBox1.Text.Trim().ToString() != ""){this.TryRequset(this.textBox1.Text.Trim().ToString());}else{MessageBox.Show("请写入正确的URL");}}通过WebClient类的DownloadFile方法将读取出的HTML信息保存到本地机器的指定目录,实现代码如下:private void saveInfo(string strPath,string strDown){WebClient wC = new WebClient();wC.DownloadFile(strDown, strPath);}通过调用saveInfo方法将文件路径传入,并且限定保存的格式,实现代码如下:private void button2_Click(object sender, EventArgs e){saveFileDialog1.Filter = "文本文件|*.txt";if (this.saveFileDialog1.ShowDialog() == DialogResult.OK){this.textBox2.Text = this.saveFileDialog1.FileName;if (this.textBox1.Text.Trim().ToString() != ""){saveInfo(this.textBox2.Text.Trim().ToString(),this.textBox1.Text.Trim().ToString());MessageBox.Show("保存成功");}else{MessageBox.Show("请写入目标页的URL");this.textBox2.Text = string.Empty;}}}本实例通过FileWebRequest类与Uri类实现向不同机器写入信息,运行结果如图5所示。图5 运行结果程序开发步骤如下所示。(1)在VS2005项目中添加一个窗体。
赞