Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published 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项目中添加一个窗体。


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759