知识大全 VB.NET与WEB服务器通讯过程详解

Posted

篇首语:好汉凭志强,好马凭胆壮。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 VB.NET与WEB服务器通讯过程详解相关的知识,希望对你有一定的参考价值。

VB.NET与WEB服务器通讯过程详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  WebRequest 和 WebResponse是两种我们访问Internet常用的类 严格说 WebRequest是一个抽象基类 我们一般用它的衍生类HttpWebRequest 以及 FileWebRequest FTP的访问需要手动注册 具体看后面的插入协议     从逻辑角度上讲 Net classes 包含三个层 请求/响应层 应用协议层和传输层 依次展开 从应用程序到网络 WebRequest 和 WebResponse 类代表请求/响应层 HTTP TCP 和 UDP 类组成了应用协议层 而套接字存在于传输层中 WebRequest/WebResponse 和 HTTP 可以在 System Net 名称空间中找到 而 TCP/UDP 和套接字则处在 System Net Sockets 名称空间中 包括也常用的UDPClient TCPCLient      WebRequest 和 WebResponse(请求/响应模型)  请求/响应模型位于顶部 提供一种简单的方式访问 Web 上的资源 WebRequest 是 NET 框架的用于访问 Internet 数据的请求/响应模型的抽象基类 使用该请求/响应模型的应用程序可以用协议不可知的方式从 Internet 请求数据 什么意思?就是协议不具体     这两种类提供了一种访问网上资源的一般方式 WebRequest 表示一个网络请求 包含诸如 RequestURI Headers Credentials 和 ContentType 等属性 WebRequest 上的主要方法有 GetRequestStream GetResponse 以及它们的异步方法Begin/EndGetRequestStream 和 Begin/EndGetResponse GetRequestStream 用于获取流以便将数据上载到服务器 GetResponse 用于获取服务器返回的响应对象 WebResponse 表示从处理该请求的服务器接收回的响应 其关键属性有 ContentLength ContentType headers ResponseURI 和 Status WebResponse 上最常用的方法是 GetResponseStream 它用于从服务器读取(下载)数据     当对 WebRequest GetResponse 进行调用时 通常发出实际的网络请求     这个示例显示如何获取一个 Web 页并将其内容输出     Dim url As New Uri( )  定义一个URI    Dim Req As WebRequest    Req = WebRequest Create(url)    Dim Resp As WebResponse    Try    Resp = Req GetResponse 获得一个响应    Catch exc As Exception    MsgBox(exc Message)    End Try    Dim netStream As StreamReader    netStream = New StreamReader(Resp GetResponseStream)    Debug WriteLine(netStream ReadToEnd)    当然 上面的例子只是一个简单的操作 可以返回一个流式的数据 下面充分挖掘一下它们的优势(与WebClient相比)      可插入协议  当某个应用程序仅仅使用 WebRequest 和 WebResponse 类时 无需修改应用程序的任何代码就可以 插入 和使用新的协议 注册一个带 WebRequestFactory 的 URI 模式在程序的持续时间内插入协议支持 注册是通过调用 WebRequestFactory Register() 方法完成的 对于 HTTP 协议 这种方法是从内部调用的 因此它被默认注册 尽管如此 在将来可以实现和注册任意数目的其他协议 当然 由于 Internet 上的协议数量巨大 这种模型并不是对所有的情况都理想 那些 饶舌 的或另外排斥请求/响应模型的协议可能会在 TCP 或 UDP 类中更好地执行 或者在某些情况下会在 Sockets 类中更好地执行 有关HTTP方面的操作我们可以使用HttpWebRequest     下面说明几个具体问题      . 程序分块    当应用程序需要发送或接收数据 而数据的准确大小在下载/上载开始时还未知时 程序分块是有用的 当基于其他应用程序或服务器逻辑正在创建所讨论的数据时 使用程序分块技术是最普遍的 要发送分块的数据 应该将 WebRequest 转换为 HttpWebRequest 并且将 HttpWebRequest SendChunked 的属性设置为TRUE 如果直接用HttpWebRequest自然就免了 )     .HTTP 管道技术    管道技术是 HTTP 的一项功能 它允许 Net classes 通过持久性连接向后端服务器发送多个 HTTP 请求 而无需在发出下次请求之前等待来自服务器的响应 这会显著影响性能 因为从服务器请求多个资源的应用程序不会被阻塞而等待某个特定资源(可能是服务器上一个非常耗时的操作 如数据库查找)      身份验证  Net classes 支持各种客户机身份验证机制 包括 摘要 基本 Kerberos NTLM 和 定制 身份验证是通过在作出请求前对 WebRequest Credentials 对象进行设置来达到的 在 摘要 和 基本 情况下 会指定用户名和口令 对于 NTLM 或 Kerberos 则使用 Windows 安全机制 并且 Credential 对象或者可以被设置为用户名 口令和域的结合 或者可以请求使用系统默认值      代理支持  在 Net classes 中的 HTTP 代理支持可以在每个请求的基础上进行控制 或者可以一次全局性地设置它 用于应用程序的生存期 这样似乎就可以验证Proxy是不是免费;) cha138/Article/program/net/201311/13051

相关参考

知识大全 VB.NET中的TextBox控件详解

VB.NET中的TextBox控件详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!TextBox

知识大全 VB.Net编程实现Web Service的基础

VB.Net编程实现WebService的基础  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  W

知识大全 VB.NET开发扫描客户端服务工具

VB.NET开发扫描客户端服务工具  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在大中型企业信

知识大全 了解VB.NET中的常量与枚举

了解VB.NET中的常量与枚举  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在程序运行的过程中

知识大全 基于php使用memcache存储session的详解

  web服务器的phpsession都给memcached这样你不管分发器把ip连接分给哪个web服务器都不会有问题了配置方法很简单就在php的配置文件内增加一条语句就可以了不过前提你需要装好mem

知识大全 VB.Net调用存储过程并得到返回值

VB.Net调用存储过程并得到返回值  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  //存储过程

知识大全 与VB .NET一起使用.NET Framework

与VB.NET一起使用.NETFramework  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 VB.NET对象的广泛应用

VB.NET对象的广泛应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  代码重用简化了开发过程

知识大全 了解VB.NET中的常量与枚举功能

了解VB.NET中的常量与枚举功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   在

知识大全 VB.NET中常量与枚举基础知识了解

VB.NET中常量与枚举基础知识了解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在程序运行的