All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
C#教程:WebClient类使用实例

Writer: qq Article type: Programming skills(编程技巧) Time: 2014/7/11 9:23:01 Browse times: 552 Comment times: 0

C#教程:WebClient类使用实例


Head photo

Go homepage
Upload pictures
Write articles

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项目中添加一个窗体。





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.