Request 对 象
作者:米仙圣人
Request对象是获取客户端浏览器传送给服务器的数据,也就是让你从访问你的ASP的访问者那里获得信息。Request对象(请求对象)包含Form 集合、QueryString集合、Cookies集合、ServerVariables集合和Clientcertificate集合等五个集合。
1、Form
Form 集合通过使用 POST 方法的表格检索邮送到 HTTP 请求正文中的表格元素的值。
语法 Request.Form(element)[(index)|.Count]
参数
element 指定集合要检索的表格元素的名称。
index 可选参数,使用该参数可以访问某参数中多个值中的一个。它可以是 1 到Request.Form(parameter).Count 之间的任意整数。
Count 集合中元素的个数
Form 集合按请求正文中参数的名称来索引。Request.Form(element) 的值是请求正文中所有 element 值的数组。通过调用 Request.Form(element).Count 来确定参数中值的个数。如果参数未关联多个值,则计数为 1。如果找不到参数,计数为 0。要引用有多个值的表格元素中的单个值,必须指定 index 值。index 参数可以是从 1到Request.Form(element).Count 中的任意数字。如果引用多个表格参数中的一个,而未指定 index 值,返回的数据将是以逗号分隔的字符串。
2、QueryString
QueryString 集合检索 HTTP 查询字符串中变量的值 ,HTTP 查询字符串由问号 (?) 后的值指定。通过发送表格或由用户在其浏览器的地址框中键入查询也可以生成查询字符串。
语法
Request.QueryString(variable)[(index)|.Count]
QueryString 集合可以让您以名称检索 QUERY_STRING 变量。Request.QueryString( 参数 ) 的值是出现在 QUERY_STRING 中所有参数的值的数组。通过调用Request.QueryString(parameter).Count 可以确定参数有多少个值。
3、Cookies
Cookie 其实是一个标签,当你访问一个需要唯一标识你的站址的 WEB 站点时,它会在你的硬盘上留下一个标记,下一次你访问同一个站点时,站点的页面会查找这个标记。每个 WEB 站点都有自己的标记,标记的内容可以随时读取,但只能由该站点的页面完成。每个站点的 Cookie 与其他所有站点的 Cookie 存在同一文件夹中的不同文件内(你可以在 Windows 的目录下的 Cookie 文件夹中找到它们)。一个 Cookie 就是一个唯一标识客户的标记,Cookie 可以包含在一个对话期或几个对话期之间某个 WEB 站点的所有页面共享的信息,使用 Cookie 还可以在页面之间交换信。Request 提供的 Cookies 集合允许用户检索在 HTTP 请求中发送的 cookie 的值。这项功能经常被使用在要求认证用户密码以及电子公告板、WEB 聊天室等 ASP 程序中。
语法
Request.Cookies(cookie)[(key)|.attribute]
参数
cookie 指定要检索其值的 cookie。
key 可选参数,用于从 cookie 字典中检索子关键字的值。
attribe 指定 cookie 自身的有关信息。如:HasKeys 只读,指定 cookie 是否包含关键字。可以通过包含一个key 值来访问 cookie 字典的子关键字。如果访问 cookie 字典时未指定 key,则所有关键字都会作为单个查询字符串返回。例如,如果 MyCookie 有两个关键字 ,First 和Second,而在调用 Request.Cookies 时并未指定其中任何一个关键字,那么将返回下列字符串。
First=firstkeyvalue&Second=secondkeyvalue
如果客户端浏览器发送了两个同名的 cookie,那么 Request.Cookie 将返回其中路径结构较深的一个。例如,如果有两个同名的 cookie,但其中一个的路径属性为 /www/ 而另一个为 /www/home/,客户端浏览器同时将两个 cookie 都发送到 /www/home/ 目录中,那么 Request.Cookie 将只返回第二个 cookie。
要确定某个 cookie 是不是 cookie 字典(cookie 有否有关键字),可使用下列脚本。
< %= Request.Cookies("myCookie").HasKeys %>
如果 myCookie 是一个 cookie 字典,则前面的赋值为 TRUE。否则,为 FALSE。
4、ServerVariables
大家都知道在浏览器中浏览网页的时候使用的传输协议是 HTTP,在 HTTP 的标题文件中会记录一些客户端的信息,如 : 客户的 IP 地址等等,有时服务器端需要根据不同的客户端信息做出不同的反映,这时候就需要用 ServerVariables 集合获取所需信息。
语法
Request.ServerVariables ( 服务器环境变量 )
服务器变量 用途
ALL_HTTP 包含有在表单HTTP_NAME:value下的非标准头标的完整列表
ALL_RAW 除了当它被接收的时候没有HTTP前缀和其他的格式,其他的和ALL_HTTP一样
APLL_MD_PATH 包含有数据库的逻辑路径
APLL_PHYSICAL_PATH 包含有数据库的物理路径
AUTH_PASSWORD 如果使用最基本的身份验证时所输入的口令
AUTH_TYPE 使用的安全身份验证类型
AUTH_USER 已经过身份验证的用户名
CERT_COOKIE 包含客户认证的唯一标识符
CERT_FLAGS 如果客户认证存在,则设置第一个标志位,如果Certificate Authority可信,则设置第二个标志位
CERT_ISSUER 客户认证发放机构
CERT_KEYSIZE 在SSL安全码中的位数
CERT_SECRETKEYSIZE 在服务器中的SSL安全码中的位数
CERT_SERIALNUMBER 客户认证的序列号
CERT_SERVER_ISSUER 发放服务器认证的Certificate Authority
CERT_SERVER_SUBJECT 服务器认证的Subject域
CERT_SUBJECT 客户认证的Subject域
CONTENT_LENGTH 访问者向服务器发出请求时报告的字节数
CONTENT_TYPE 请求的类型
GATEWAY_INTERFACE 以CGI/版本号形