ASP.net常用对象之一(Request对象)[转]

来源:互联网 发布:刘青云郭蔼明 知乎 编辑:程序博客网 时间:2024/06/06 00:49

Request对象包括:报头客户端的基本信息(如浏览器类型、版本号、用户所用的语言及编码方式等)请求方法(Post或Get)参数名参数值

Request对象的调用方法:Request.Collection["Variable"]其中,Collection有QueryString、Form、Cookies、ServerVariables四种集合。Collection可以省略,如用Request["Variable"]调用,但这样会降低效率。

以下是这四种集合:

QueryString集合QueryString集合收集的信息来自于请求Url中“?”号后面的数据,这些数据通常称为“Url附加信息”:http://www.aspcn.com/show.asp?id=111在此Url中,QueryString收集到的信息是“Show.asp?”后的附加数据“id=111”。此时,取得参数id的参数值的语句是:Request.QueryString["id"]

QueryString集合主要用于收集Http协议中的Get请求发送的数据,如果一个请求事件中被请求的程序Url中出现“?”号后的数据,则表示此次请求方式为Get。最常用的超链接,就是通过Get发送请求。也可以通过Form发送Get请求,如:

那么,在show.asp页面中,就可以用Request.QueryString["id"]获得id的参数值。

Form集合Form集合与QueryString类似,但它用于收集Post方法发送的请求数据(Get方法一般只能传递256字节的数据,而Post可以达到2M)。Post请求必须由Form来发送。如:

那么,在show.asp页面中,就可以用Request.Form["id"]获得id的参数值。

Cookies集合

ServerVariable集合ServerVariable(环境变量)集合中包含了服务器和客户端的系统信息。---客户端:(1)获取客户端浏览器版本号: Request.ServerVariable["HTTP_USER_AGENT"](2)获取客户端IP地址:   Request.ServerVariable["REMOTE_ADDR"](3)获取客户端所使用的语言:   HTTP_ACCEPT_LANGUAGE(4)获取请求的方法:    REQUEST_METHOD(5)获取请求信息的内容的总符数:   CONTENT_LENGTH(6)获取请求信息的类型    CONTENT_TYPE(7)获取URL的附加信息:    QUERY_STRING(8)获取网关接口:    GATEWAY_INTERFACE---服务器:(1)获取服务器的IP地址:   Request.ServerVariable["LOCAL_ADDR"](2)获取服务器的主机名:   Request.ServerVariable["SERVER_NAME"](3)获取当前执行程序的虚拟目录:    PATH_INFO(4)获取当前执行程序的绝对路径:    PATH_TRANSLATED(5)获取当前程序的文件名(包含虚拟路径): SCRIPT_NAME(6)获取服务器接受请求的端口:    SERVER_PORT(7)获取服务器遵从的协议及版本号:   SERVER_PROTOCAL

Browser对象ASP.net的Browser对象是通过调用Request的Browser属性直接获得的,它可以获得浏览器的更深入的信息检测浏览器的类型:   Request.Brower.Brower 显示结果,例如 IE检测浏览器的版本:   Requet.Brower.Version 显示结果,例如 6.0b检测浏览器是否支持ActiveX控件:   ActiveXControls检测浏览器是否支持Cookies:   Cookies检测浏览器是否支持VBScript:   VBSCript

其它Request属性、方法:* FilePath 取得当前请求的文件路径,例: String filePath = Request.FilePath;* HttpMethod 取得当前请求的方法* Files* Params 获得 QueryString + Form + ServerVariable + Cookies 的集合。* TotalBytes 请求内容的大小* Url   获得Url信息,例:     HttpUrl objUrl = Request.URL;     string sPort = objUrl.Port;     string sProtocol = objUrl.Protocol;* UserHostAddress(用户IP)、UserHostName、UserLanguages