Request通常叫做请求对象,主要用来用来与客户端交互,收集客户端信息,然后将收集的这些信息发送给服务器端或其它asp页面,称为发送请求,服务器收到请求后就会对这些信息进行处理,然后将结果返回给客户端浏览器。Request对象从客户端获取信息的方法有5种。
1、Client Ccertification:使用安全认证时的信息。
2、Cookies 主要用来设置和获取客户端的Cookies。
3、Form 主要用来获取表单中的信息。
4、QueryString 主要用来获取URL后面的信息。
5、ServerVariables用来获取客户端IP等信息。
第一节、form方法
当表单信息量较大时(大于1k)必须通过post方式传送信息,使用post方式传送的信息,需要使用form方法来获取。
格式: Request.form("name") |
参数:
name是html中form表单的某个文本框、密码框,按钮,单选框,复选框,下拉框或者隐藏域等的名称;同时这个名称还必须是用post传递过来的;
示例 sl6-1.asp
<html> <head> <title>asp简单程序</title> </head> <body> <form action="" method=post target="_blank"> <input type="text" name="my_txt" value="100"> <p> <input type="submit" value="确定"> </form> <% dim my_txt my_txt=Request.form("my_txt") response.write(my_txt) %> </body> </html> |
示例解读:
使用标记form定义了一个表单,接收这个表单数据文件的地址使用属性 action进行指定,但是本例中 action="" 指定的是一个空值,表明你要使用当前文档的url,属性method指定为post,这种指定表示可以传输大量数据,Request 对象的form方法可以接收post传输的数据。表单中使用<input>写入了两个控件,一个提交按钮submit,当这个按钮被点击时,表单中其它控件的内容就会伴随着name发送出去。
第二节、QueryString方法
表单信息通过get方式发送时,另一个asp页面就可以使用querystring方法接收,querystring方法主要用来接收数据量较小的,标识在url后面的一些变量及其值,这些变量主要应用于网页之间的信息交流;
格式:
Request.querystring("name") |
示例 sl6-2
(1)h1.asp
<html> <head><title>asp简单程序</title></head> <body> <form action="h2.asp" method="get" target="_blank"> 姓名:<input tpye="text" name="y_name"><br> 年龄:<input type="text" name="y_age" ><br> <input type="submit" value="提交"> </form> </body> </html> |
示例解读:
这个文件定义了一个表单,用来向h2.asp文件发送信息,在姓名栏用汉语拼音填写 xiaoli,年龄栏填写22,提交后就会在新的窗口中显示你填写的信息,这时我们观看地址栏,会看到变量通过?号附加在了url的后面,
(2)h2.asp
<html> <head> <title>asp简单程序</title> </head> <body> <% dim y_name,y_age y_name=request.querystring("y_name") y_age =request.querystring("y_age") %> <% response.write("你的名字:"&y_name)%><br> <% response.write("你的年龄:"&y_age)%> </body> </html> |
第三节、ServerVariables方法
ServerVariables方法用来获取服务器端或者客户端的一些信息,比如:服务器端的环境变量;
格式:
Request.ServerVariables("环境变量名") |
环境变量的概念: 环境指的是周围,环境变量指的是用来保存周围信息的变量;服务器环境变量:指的是在服务器上用来保存服务器环境信息的变量,这些变量主要有:
1、ALL_HTTP 保存的信息为:所有客户端发送的http报头
2、AUTH_TYPE 当访问被保护的脚本时,判断该用户是否合法
3、CONTENT_TYPE 内容的数据类型
4、GATEWAY_INTERFACE,服务器使用的CGI规格的修订版
5、HTTP_REFERER 保存的信息为:客户使用的超连接的Internet地址
6、HTTP_USER_AGENT 保存的信息为:客户端使用的浏览器类型
7、LOGN_USER,登陆widows NT的用户账号
8、QUERY_STRING 保存的信息为:url问号后面的内容
9、REMOTE_ADDR 客户端IP地址
10、REMOTE_HOST 客户端主机名
11、SERVER_NAME 服务器端的IP地址或名称
12、SCRIPT_NAME 当前asp文件的虚拟路径
13、URL 保存的信息为:url的基本段
示例 sl6-3.asp
<html> <head><title>asp简单程序</title></head> <body> <% dim myIP,aURL,bURL myIP=Request.ServerVariables("REMOTE_ADDR") response.write("IP:"&myIP) response.write "<p>" aURL=Request.ServerVariables("URL") response.write "url的基本段:"&aURL response.write "<p>" bURL=Request.ServerVariables("HTTP_REFERER") response.write "超链接地址:"&bURL %> </body> </html> |
示例 sl6-4.asp
<html> <head><title>asp简单程序</title></head> <body> <form action="" method=post><br> <select name="mysel" size=3> <option value="k1">星期一 flash基础</option> <option value="k2" selected>星期二 flash脚本</option> <option value="k3" >星期三 Asp入门</option> <option value="k4">星期四 DW制作贺卡</option> <option value="k5" >星期五 CSS样式表</option> </select> <p> <input type="submit" value="选好后点击确定"> </form> <% dim mysel mysel=Request.form("mysel") if StrComp("k1",mysel)=0 then response.write "你选择了:星期一 flash基础" elseif StrComp("k2",mysel)=0 then response.write "你选择了:星期二 flash脚本" elseif StrComp("k3",mysel)=0 then response.write "你选择了:星期三 Asp入门" elseif StrComp("k4",mysel)=0 then response.write "你选择了:星期四 DW制作贺卡" elseif StrComp("k5",mysel)=0 then response.write "你选择了:星期五 CSS样式表" end if %> </body> </html> |
示例解读:
程序定义了一个表单,表单中的数据用post方式发送到本页,表单中还插入了选择性列表select和提交按钮submit两个控件,选择列表的第二行使用selected指定为默认行,当点击提交按钮后,脚本使用Request对象的form方法接收该信息并保存到变量mysel中,StrComp函数对变量的信息和给定的进行比较,比较的结果做为简单多分支语句的条件进行判断,为真就输出相应的信息。
示例 sl6-5.asp
<html> <head><title>asp简单程序</title></head> <body> <% dim aURL,bURL aURL="http://longka.flasher123.com/asp/a6/h-6.htm" bURL=Request.ServerVariables("HTTP_REFERER") if aURL=bURL=True then response.write "你打开了本示例" else response.write "请不要盗链接本页" end if %> </body> </html> |