- 浏览: 312187 次
- 性别:
- 来自: 郑州
最新评论
-
Seven7+:
很好的资料,谢谢分享,正好用到。
修改mysql字符编码成为UTF8 -
wangguorui89:
你好使用ffmpeg转换flv可以,但是rmvb转换avi时采 ...
java调用ffmpeg执行视频转换-------调试成功 -
fanfq:
fanfq 写道我怎么都运行不起来的啊?ffmpeg进程只是闪 ...
java调用ffmpeg执行视频转换-------调试成功 -
fanfq:
我怎么都运行不起来的啊?ffmpeg进程只是闪一下就没有。程序 ...
java调用ffmpeg执行视频转换-------调试成功 -
wxlwxq:
请问一下,我的批处理文件及参数的地址中,文件夹有空格怎么办?我 ...
java执行ffmpeg截图
二..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协议的方法。
发表评论
-
HTTP是怎样工作的
2007-06-25 17:54 1090由于HTTP协议是基于请求 ... -
HTTP协议的运作方式
2007-06-25 17:53 1163HTTP协议是基于请求/响 ... -
HTTP协议状态码的含义
2007-06-25 17:52 1064HTTP协议状态码的含义 号码含义 ---------- ... -
HTTP协议基础
2007-06-25 17:51 1431HTTP(HyperTextTransferProtocol) ... -
HTTP协议--关于Chunked编码
2007-06-25 17:50 2011在有时服务器生成HTTP回应是无法确定消息大小的,这时用Con ... -
HTTP协议--断点续传
2007-06-25 17:49 1949断点续传是我们现在经常接触的概念,那么HTTP协议是如何支持断 ... -
WWW的核心——HTTP协议
2007-06-25 17:48 978众所周知,Internet的基本协议是TCP/IP协议,目前广 ... -
协议分析的优势—HTTP分析器检测网络攻击
2007-06-25 17:46 1272从性能、效率、检测率 ... -
用Socket类实现HTTP协议客户端应用
2007-06-25 17:45 1399Http客户端程序已集成在 ... -
Http指纹识别技术
2007-06-25 17:44 1426Http指纹识别技术 Http指 ... -
浅谈HTTP协议(二)--返回值
2007-06-25 17:42 1227在一个协议中,最重要的是判断协议是否进行的成功,而在HTTP中 ... -
浅谈HTTP协议(一)--结构
2007-06-25 17:42 1128Internet是由各个协议连接起来的,而我们现在使用最广的莫 ... -
HTTP和WWW的配置注意事项
2007-06-25 17:40 776一、HTTP的安全因素 对 ... -
SOAP 1.1规范
2007-06-25 17:37 1120SOAP简介 SOAP(SimpleObjectAc ... -
利用HTTP协议的特性进行拒绝服务攻击的一些构思
2007-06-25 17:36 1256在介绍这个方法之前,让我们复习一下HTTP是怎样工作的: ... -
超文本传输协议HTTP(二)
2007-06-25 17:35 1015用于支持WWW浏览的网络 ... -
超文本传输协议HTTP(一)
2007-06-25 17:34 1151用于支持WWW浏览的网络 ... -
在无线J2ME设备上实现HTTP协议
2007-06-25 17:33 1535随着越来越多手提电话 ... -
基于混合TCP-UDP的HTTP协议实现方法
2007-06-25 17:32 2254摘要:目前,用于Web页 ... -
Java:用Socket类实现HTTP协议客户端应用
2007-06-25 17:31 1746Http客户端程序已集成在Java语言中,可以通过URLCon ...
相关推荐
OPC客户端由Microsoft Visual Basic .NET实现。 文档(英语) 文档可清楚地分为三个部分显示: 介绍:包含应用描述,功能原理,所需硬件和软件的详细情况,基本性能数据以及可替代解决方案列表 扩充:包含基础、详细...
基于VNC协议并扩展开发。将完整的窗口界面通过网络,传输到另一台计算机的屏幕上。可用于数量庞大的不同操作系统,简单,可靠,和向后兼容性。控件由服务端Activex WpRds....Visual Basic .NET语言开发包使用样例演示。
第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 面向...
客户管理系统 5.1 系统概述 5.2 系统设计 5.3 数据库设计 5.4 数据库的生成与配置 5.5 用Visual Basic开发客户管理事务处理组件 5.6 在客户管理系统中使用客户管理组件 5.7 客户管理主...
文中主要介绍了系统的基本功能和系统结构组成情况,内容包括系统需求分析、系统设计原则、系统设计思想、系统功能模块描述、数据库设计、系统通信过程、通信协议等,同时还对开发环境Visual Basic.net、Access 2003...
资源名:VB.NET实现TCPIP通讯转发功能程序源码 资源类型:程序源代码 源码说明: 最近需要研究一个通讯,监视抓包的工具感觉不是很直观,网上找到的工具只能转发却看不到数据包内容,实在忍不了了。所以自己写了个,...
Visual Basic.Net实现TCP协议很好的东西,学习用,或许真的很有帮助
通过VB.NET实现网络通信,本文的主要内容就来介绍在Visual Basic .Net实现基于TCP协议网络数据传送的一种简单的方法。
虽然本实例用Visual Basic .Net实现一个简单的基于TCP协议的网络应用程序。但程序中使用的是NetworkStream作为载体,通过StreamWriter和StreamReader通过操作这个载体从而实现数据传输和接收。这种实现TCP协议方法...
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.Net1.1中实现页面模板(所谓的MasterPage技术) Tool Tip 示例(FILTER版) Tool Tip示例 (htc版) 一个.net发送HTTP数据实体的类 按键跳转以及按Enter以不同参数提交,及其他感应事件 动态控制Page页的...
一个读取支持modbus协议的设备的数据工具
网络通信协议分析与应用实现
结合《开放型 MODBUS-TCP规范(中文版)》手册,开发环境:Visual Basic V6.0 sp6 ,使用Winsocket控件开发的modbus客户端,然后结合modbus服务器仿真软件(modbus poll 和 modscan32),进行离线仿真应答Modbus...
基于Visual Basic串口通信VB串口通信UART程序实例源码合集(200个): PC机与51单片机之间的串口通讯,VB编的,分PC和单片机两部分.rar VB Modbus RTU源码,其中协议部分已生成DLL,可直接调用.rar VB.net实现串口编程,...
第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 面向...
语言为.NET网站中使用的语言,如果选择Visual C#,则默认的开发语言为C#,否则为Visual Basic。创建了ASP.NET网站后,系统会自动创建一个代码隐藏页模型页面Default.aspx。ASP.NET网页一般由三部分组成,这三个部分...
\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 ...
两个VB点对点发送文件例子,原理基于TCP/IP协议