ASP.net常用对象之一(Request对象)
时间:2011-03-11 来源:野味@有点甜
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