首页 / 软件开发 / 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页下载到本地硬盘上时示例运行结果。