`
soardragon
  • 浏览: 312187 次
  • 性别: 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协议的方法。

分享到:
评论

相关推荐

    通过SEND/RECEIVE协议与Visual Basic .NET OPC客户端的OPC通信

    OPC客户端由Microsoft Visual Basic .NET实现。 文档(英语) 文档可清楚地分为三个部分显示: 介绍:包含应用描述,功能原理,所需硬件和软件的详细情况,基本性能数据以及可替代解决方案列表 扩充:包含基础、详细...

    Visual Basic .NET远程协助控件SDK

    基于VNC协议并扩展开发。将完整的窗口界面通过网络,传输到另一台计算机的屏幕上。可用于数量庞大的不同操作系统,简单,可靠,和向后兼容性。控件由服务端Activex WpRds....Visual Basic .NET语言开发包使用样例演示。

    《Visual Basic 2008应用程序开发实例精讲》全书所有实例程序源代码

    第2章 visualbasic.net编程基础18 2.1 基础编程知识18 2.1.1 关键字及标识符18 2.1.2 数据类型20 .2.1.3 变量与常量24 2.1.4 自定义结构体26 2.1.5 数组27 2.1.6 运算符与表达式29 2.1.7 结构化控制语句32 2.2 面向...

    Visual Basic数据库开发实例精粹(PDF)

    客户管理系统 5.1 系统概述 5.2 系统设计 5.3 数据库设计 5.4 数据库的生成与配置 5.5 用Visual Basic开发客户管理事务处理组件 5.6 在客户管理系统中使用客户管理组件 5.7 客户管理主...

    VB.NET网吧计费系统软件(源代码+毕设+开题报告).zip

    文中主要介绍了系统的基本功能和系统结构组成情况,内容包括系统需求分析、系统设计原则、系统设计思想、系统功能模块描述、数据库设计、系统通信过程、通信协议等,同时还对开发环境Visual Basic.net、Access 2003...

    VB.NET实现TCPIP通讯转发功能程序源码

    资源名:VB.NET实现TCPIP通讯转发功能程序源码 资源类型:程序源代码 源码说明: 最近需要研究一个通讯,监视抓包的工具感觉不是很直观,网上找到的工具只能转发却看不到数据包内容,实在忍不了了。所以自己写了个,...

    vb.net实现TCP传输

    Visual Basic.Net实现TCP协议很好的东西,学习用,或许真的很有帮助

    VB.netwangluotongxin.zip_VB.NET TCP_VB.NET TCP通信_tcp_vb.net网络_网络

    通过VB.NET实现网络通信,本文的主要内容就来介绍在Visual Basic .Net实现基于TCP协议网络数据传送的一种简单的方法。

    VB.net 网络通讯实例

    虽然本实例用Visual Basic .Net实现一个简单的基于TCP协议的网络应用程序。但程序中使用的是NetworkStream作为载体,通过StreamWriter和StreamReader通过操作这个载体从而实现数据传输和接收。这种实现TCP协议方法...

    PowerTCP .NET Subscription--功能强大的网络通讯控件组件

    Microsoft Visual Basic .NET Microsoft Visual C++.NET Microsoft Visual C# .NET .NET Common Language Runtime V1.0 支持平台 WIN 98/NT/2000/XP 标准报价 27,590 元人民币 * 以上报价仅供参考,具体...

    asp.net知识库

    如何在Asp.Net1.1中实现页面模板(所谓的MasterPage技术) Tool Tip 示例(FILTER版) Tool Tip示例 (htc版) 一个.net发送HTTP数据实体的类 按键跳转以及按Enter以不同参数提交,及其他感应事件 动态控制Page页的...

    byaw.rar_网络_Visual_Basic.NET_

    一个读取支持modbus协议的设备的数据工具

    wefxult.zip_系统/网络安全_Visual_Basic.NET_

    网络通信协议分析与应用实现

    modbus TCP协议 VB通讯程序源码

    结合《开放型 MODBUS-TCP规范(中文版)》手册,开发环境:Visual Basic V6.0 sp6 ,使用Winsocket控件开发的modbus客户端,然后结合modbus服务器仿真软件(modbus poll 和 modscan32),进行离线仿真应答Modbus...

    基于Visual Basic串口通信VB串口通信UART程序实例源码合集(200个).zip

    基于Visual Basic串口通信VB串口通信UART程序实例源码合集(200个): PC机与51单片机之间的串口通讯,VB编的,分PC和单片机两部分.rar VB Modbus RTU源码,其中协议部分已生成DLL,可直接调用.rar VB.net实现串口编程,...

    VB2008应用程序开发实例精讲(光盘文件)

    第2章 VisualBasic.NET编程基础18 2.1 基础编程知识18 2.1.1 关键字及标识符18 2.1.2 数据类型20 2.1.3 变量与常量24 2.1.4 自定义结构体26 2.1.5 数组27 2.1.6 运算符与表达式29 2.1.7 结构化控制语句32 2.2 面向...

    ASP.NET的网页代码模型及生命周期

    语言为.NET网站中使用的语言,如果选择Visual C#,则默认的开发语言为C#,否则为Visual Basic。创建了ASP.NET网站后,系统会自动创建一个代码隐藏页模型页面Default.aspx。ASP.NET网页一般由三部分组成,这三个部分...

    irrKlang-1.0

    \example.net :Examples written for the .NET version of irrKlang, in C# and VisualBasic.NET \include: Header files to include when using the engine. \lib: Lib to link with your programs when using ...

    vbfileupload_visualbasic_

    两个VB点对点发送文件例子,原理基于TCP/IP协议

Global site tag (gtag.js) - Google Analytics