Welcome

首页 / 软件开发 / C# / WebRequest类、WebResponse类和WebClient类

WebRequest类、WebResponse类和WebClient类2011-07-16WebRequest类

WebRequest类是.NET Framework中“请求/响应”模型的abstract基类,用于访问Internet数据。使用WebRequest类请求/响应模型的应用程序可以用协议不可知的方式从Internet请求数据,在这种方式下,应用程序处理WebRequest类的实例,而协议特定的子类则执行请求的具体细节,请求从应用程序发送到某个特定的URI,如服务器上的网页。URI从一个为应用程序注册的WebRequest子类列表中确定要创建的适当子类。注册WebRequest子类通常是为了处理某个特定的协议(如HTTP或FTP),但是也可以注册它以处理对特定服务器或服务器上的路径的请求。

WebRequest类中最常用的是Create方法,下面对其进行详细介绍。

Create方法用于为指定的URI方案初始化新的WebRequest实例。

语法:

public static WebRequest Create

string requestUriString
参数:

requestUriString:标识Internet资源的URI。

返回值:特定URI方案的WebRequest子类。

注意:Create方法将运行时确定的WebRequest类的子类作为与requestUri最接近的注册匹配项返回。例如,当以http://开头的URI在requestUri中传递时,由Create返回一个HttpWebRequest。如果改为传递以file://开头的URI,则Create方法将返回FileWebRequest实例。.NET Framework包括对http://和file:// URI方案的支持。

WebResponse类

WebResponse类是abstract基类,协议特定的响应类从该抽象基类派生。应用程序可以使用 WebResponse类的实例以协议不可知的方式参与请求和响应事务,而从WebResponse类派生的协议特定的类携带请求的详细信息。

在WebResponse类中最常用的是GetResponse方法,下面对其进行详细介绍。

GetResponse方法用于当在子类中被重写时,返回对 Internet 请求的响应

语法:

public virtual WebResponse GetResponse ()

返回值:包含对Internet请求的响应的WebResponse。

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页时示例运行结果如图**和图**所示,当要将HTML页下载到本地硬盘上时示例运行结果。