`
soardragon
  • 浏览: 316794 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Visual Basic .Net中实现HTTP协议(二)

阅读更多

二..Net FrameWork SDK中提供的实现HTTP协议的类:

  在.Net FrameWork SDK中实现HTTP协议的类主要位于命名空间“System.Net”。主要的类有十七种,其名称及其功能简介具体如表02所示:

作用
FileWebRequest 提供WebRequest类的文件系统实现。
FileWebResponse 提供WebResponse类的文件系统实现。
GlobalProxySelection 包含所有HTTP请求的全局默认代理实例。
HttpVersion 定义受HttpWebRequest和HttpWebResponse类支持的HTTP 版本号。
HttpWebRequest 提供WebRequest类的HTTP特定的实现。
HttpWebResponse 提供WebResponse类的HTTP特定的实现。
NetworkCredential 为基于密码的身份验证方案提供凭据。
CredentialCache 为多个凭据提供存储。
ServicePoint 提供HTTP连接的连接管理。
WebClient 提供向URI标识的资源发送数据和从URI标识的资源接收数据的公共方法。不能继承此类。
WebException 通过可插接协议访问网络期间出错时引发的异常。
WebHeaderCollection 包含与请求或响应关联的协议标头。
WebPermission 控制访问HTTPInternet资源的权限。
WebPermissionAttribute 指定权限以访问Internet资源。
WebProxy 包含WebRequest类的HTTP代理设置。
WebRequest 发出对统一资源标识符(URI)的请求。
WebResponse 提供来自统一资源标识符(URI)的响应。

表02:.Net FrameWork SDK中提供的用以实现HTTP协议的类

  由于.Net FrameWork SDK中提供的用以实现HTTP协议的类实在太多,下面就选择一些在实现HTTP协议的客户端程序中经常使用的、以及本文下面内容中所涉及到的的类加以介绍。

  1. WebRequest类:

  WebRequest类是一个基类,它在.Net框架中主要用于访问Internet数据的请求/响应模型。在创建WebRequest类实例时,请注意下面二个问题:

  (1).一般不采用WebRequest类提供的构造函数,而使用其的Creat方法来创建并初始化WebRequest类实例。

  (2).HttpWebRequest类虽有构造函数。但使用复杂,所以并不提倡。请注意WebRequest类的Creat方法的语法,其语法如下:

public static WebRequest Create (

Uri requestUri

) ;

  当以“http://”或者“https://” 开头的URI传递到上面的requestUri参数中时,Create方法返回其实虽为WebRequest实例,但此实例的实质为HttpWebRequest实例。在下面内容中WebRequest的主要作用就是为创建HttpWebRequest 实例。表03是WebRequest类中的常用属性和方法及其说明:

属性 说明
ConnectionGroupName 获取或设置请求的连接组的名称。
ContentLength 获取或设置所发送的请求数据的内容长度。
ContentType 获取或设置所发送的请求数据的内容类型。
Credentials 获取或设置用于对Internet资源请求进行身份验证的网络凭据。
Headers 获取或设置与请求关联的标头名称/值对的集合。
Method 获取或设置要在此请求中使用的协议方法。
PreAuthenticate 指示是否对请求进行预先身份验证。
Proxy 获取或设置用于访问此Internet资源的网络代理。
RequestUri 获取与请求关联的Internet资源的
Timeout 获取或设置请求超时前的时间长度。

表03:WebRequest类的常用属性及其说明

  2. HttpWebRequest类:

  HttpWebRequest类主要是实现上面介绍的HTTP会话中的第一、二步骤。当创建完HttpWebRequest实例后,并设定HttpWebRequest实例的“GET”属性后,HTTP请求信息中的请求行就定义完成了。定义HTTP请求信息中的请求头,并把请求信息发送出去就需要了解、掌握HttpWebRequest类中的方法和属性。表04是定义HTTP请求头对应的HttpWebRequest类属性和方法,表05是HttpWebRequest类常用方法及其说明。

请求头 设置
Accept 由Accept属性设置。
Connection 由Connection属性和KeepAlive属性设置。
Content-Length 由ContentLength属性设置。
Content-Type 由ContentType属性设置。
Expect 由Expect属性设置。
Date 由系统自动设置为当前日期。
Host 由系统自动设置为当前主机信息。
If-Modified-Since 由IfModifiedSince 属性设置。
Range 由AddRange方法设置。
Referer 由Referer属性设置。
Transfer encoding 由TransferEncoding属性或SendChunked属性设置。
User Agent 由UserAgent属性设置。

表04:设定HTTP请求头对应HttpWebRequest类方法或属性

方法 说明
Abort 取消对Internet资源的请求。
AddRange 向请求添加范围标头。
BeginGetRequestStream 开始对用来写入数据的Stream实例进行异步请求。
BeginGetResponse 开始对Internet资源的异步请求。
EndGetRequestStream 结束对用于写入数据的Stream实例的异步请求。
EndGetResponse 结束对Internet资源的异步请求。
GetRequestStream 获取用于写入请求数据的Stream实例。
GetResponse 返回来自Internet资源的响应。

表05:HttpWebRequest类常用属性及其说明

  其中“BeginGetRequestStream”和“EndGetRequestStream”、“BeginGetResponse”和“EndGetResponse”是二对异步方法,其功能分别相当于“GetRequestStream”和“GetResponse”方法。

  3. HttpWebResponse类:

  HttpWebResponse类主要用以实现HTTP会话中的后面二个步骤。下面介绍的示例中的HttpWebResponse类起的主要作用获得服务器响应的数据,其中包括应答头。HttpWebResponse类虽提供了构造函数,但HttpWebResponse类实例的创建并不使用这个构造函数,这一点和HttpWebRequest类非常相似。而是通过HttpWebRequest类的“GetResponse”方法,此方法是当对指定的URI提出请求通过后,远程Internet资源返回的响应,下面是“GetResponse”方法的语法:

public override WebResponse GetResponse ( ) ;

  可见,如果成功返回,则GetResponse方法返回的是包含来自Internet资源的响应的WebResponse实例。但这个返回的实例实质的类型是HttpWebResponse。在Visual Basic .Net中可以通过类型转换就可得到程序中所要使用的HttpWebResponse实例,从而为获取从WWW主机反馈的数据。表06和表07分别是HttpWebResponse类的常用属性和方法及其说明。

属性 说明
CharacterSet 获取响应的字符集。
ContentEncoding 获取用于对响应的体进行编码的方法。
ContentLength 获取请求返回的内容的长度。
ContentType 获取响应的内容类型。
Cookies 获取或设置与此请求关联的Cookie。
Headers 获取与来自服务器的响应关联的标头。
LastModified 获取最后一次修改响应内容的日期和时间。
Method 获取用于返回响应的方法。
ProtocolVersion 获取响应中使用的HTTP协议的版本。
ResponseUri 获取响应请求的Internet资源的
Server 获取发送响应的服务器的名称。
StatusCode 获取响应的状态。
StatusDescription 获取与响应一起返回的状态说明。

表06:HttpWebResponse类的常用属性及其说明

方法 说明
Close 关闭响应流。
GetResponseHeader 获取与响应一起返回的指定应答头内容。
GetResponseStream 获取用于读取来自服务器的响应的数据流。

表07:HttpWebResponse类的常用属性及其说明

  以上介绍的三个类,是Visual Basic .Net编写基于HTTP协议网络应用程序所必须掌握的。当然在.Net FrameWork SDK为能够更好的处理HTTP中各种问题,还提供了许多类,其中包括用以处理身份认证的类,如NetworkCredential和CredentialCache类等。这些类就不具体介绍了。下面就结合若干具体的示例来了解、掌握在Visual Basic .Net使用上述类来实现HTTP协议的方法。

分享到:
评论

相关推荐

    用Visual Basic .NET和Visual C#.NET开发XML Web服务与服务器组件

    总之,这个教程将带你深入XML Web服务的世界,通过Visual Basic .NET和Visual C#.NET,你可以构建出强大的分布式应用程序,实现跨平台、跨网络的通信。结合MCAD-MCSD的认证学习路径,这将极大地提升你的.NET开发技能...

    visual basic .net串口通信及测控应用典型实例

    通过以上介绍可以看出,在Visual Basic .NET中实现串口通信不仅可以应用于各种测控系统中,还能极大地提高工作效率和系统的灵活性。开发者需要熟练掌握`SerialPort`类的使用方法,并结合具体应用场景设计合理的数据...

    Visual Basic .NET网络程序设计——TCPIP与Internet Programming)

    《Visual Basic .NET网络程序设计——TCPIP与Internet Programming》是一本深入探讨如何使用Visual Basic .NET进行网络编程的专业书籍。这本书着重讲解了利用VB.NET进行TCP/IP通信和Internet编程的关键技术,对于...

    Visual Basic.NET经典案例开发教程

    《Visual Basic.NET经典案例开发教程》是一本专为学习和掌握Visual Basic.NET编程技术而编写的实战指南。这本书深入浅出地介绍了如何利用VB.NET进行应用程序的开发,旨在帮助读者从理论到实践全面理解VB.NET的精髓。...

    Visual Basic.NET案例代码

    在给定的"Visual Basic.NET案例代码"中,我们可以看到三个具体的项目:学生成绩信息管理系统、网络定餐订单接收处理系统以及球员信息管理程序。这些案例涵盖了数据库操作、用户界面设计、网络通信等多个关键知识点。...

    《Visual Basic.NET程序设计教程》-陈语林-电子教案

    《Visual Basic.NET程序设计教程》是由陈语林编著的一本深入浅出的编程教材,主要针对初学者和有一定基础的程序员,旨在教授如何使用Visual Basic.NET进行应用程序开发。这本电子教案涵盖了VB.NET的基础知识、语法...

    Visual Basic.NET自动化系统监控—rs-232串行通信

    《Visual Basic.NET自动化系统监控—rs-232串行通信》是一本专注于利用Visual Basic.NET进行系统监控和实现rs-232串行通信技术的书籍。在现代信息技术中,自动化系统监控对于提高效率、减少错误和实现远程操作至关...

    Visual Basic.NET项目开发实践源码

    《Visual Basic.NET项目开发实践源码》集合了多个实际应用领域的项目源代码,涵盖了网络通信、电子商务、教学管理、图书管理、餐饮服务、快速公共服务收费等多个方面,旨在帮助开发者深入理解Visual Basic.NET语言的...

    <<Visual Basic.NET入门经典>>随书源码

    《Visual Basic.NET入门经典》是一本专为初学者设计的编程教材,主要涵盖了VB.NET的基础知识和实践应用。这本书的随书源码包含了各种实例,旨在帮助读者更好地理解和掌握VB.NET编程技巧。以下是对这些源码文件的知识...

    VisualBasic.NET实用编程百例+源代码,非常好的教程.

    Visual Basic .NET(VB.NET)是Microsoft开发的一种面向对象的编程语言,它是.NET框架的一部分,提供了丰富的功能和易用性,使得开发者能够构建桌面、Web和移动应用程序。本教程聚焦于Visual Basic .NET的实用编程,...

    Developing Web Applications with Visual Basic.NET and ASP.NET.pdf

    ### 使用Visual Basic.NET与ASP.NET开发Web应用的关键知识点 #### 一、Visual Basic.NET简介 Visual Basic.NET(简称VB.NET)是Microsoft推出的一种基于.NET框架的面向对象编程语言。它继承了Visual Basic早期版本...

    Visual.Basic.NET经典开发案例

    《Visual.Basic.NET经典开发案例》是一本专注于VB.NET编程实践的资源集合,旨在帮助开发者深入理解和应用VB.NET语言进行实际项目开发。通过一系列精选的案例,本书覆盖了VB.NET编程的多个重要方面,包括基础语法、...

    Visual Basic.NET 串行化参考手册

    在Visual Basic.NET中,串行化被广泛用于应用程序的状态保存、配置文件存储以及分布式系统的数据交换。 串行化的基本过程包括两个主要步骤:序列化和反序列化。序列化是指将对象的状态转换为字节流的过程,而反序列...

    Visual Basic.NET 实用编程技术

    《Visual Basic.NET 实用编程技术》是一本专为开发者设计的指南,旨在深入探讨和实践使用Visual Basic.NET进行软件开发的技术。这本书涵盖了.NET框架的基础,VB.NET语法特性,以及如何利用这些工具创建高效、功能...

    Visual Basic程序设计教程_visualbasic_vb.net_

    9. **网络编程**:VB.NET支持HTTP、TCP/IP等网络协议,可以编写网络客户端和服务端应用程序。 10. **.NET Framework**:VB.NET是.NET Framework的一部分,因此,学习.NET Framework的基础知识,如Common Language ...

    vb串口通讯源码VisualBasic.NET自动化系统监控随书光盘

    #### 知识点二:Visual Basic .NET在自动化系统监控中的应用 随着工业自动化的快速发展,利用计算机技术进行系统监控的需求日益增长。Visual Basic .NET作为一种强大的开发工具,在实现自动化监控系统方面具有显著...

    Visual Basic.NET应用编程150例

    《Visual Basic.NET应用编程150例》是一本专注于教授如何使用Visual Basic.NET进行实际编程的书籍。VB.NET是微软公司推出的.NET框架下的一种面向对象的编程语言,它继承了Visual Basic的强大易用性,并引入了许多...

    visual basic.net应用编程150例

    《Visual Basic.NET应用编程150例》是一本旨在帮助初学者和有一定基础的开发者深入理解和掌握VB.NET编程技术的实战教程。通过150个精心设计的实例,本书覆盖了VB.NET的基础知识、核心概念以及高级应用,旨在让读者在...

Global site tag (gtag.js) - Google Analytics