Resquest对象代表由各客户程序发往HTTP的请求报文。事实上,Request对象的功能是单向的,它只能接收客户端Web页面提交的数据,与Response对象的功能刚好相反。
Resquest接收数据时通过两个集合QueryString和Form来检索表单的数据,具体用哪一个集合,取决于Web页面提交数据的HTTP表单的Method属性,当Method属性值为“Get”时以QueryString,而Method属性值为“Post”时以Form。当省略了具体的集合名称时,ASP将以下面的顺序来搜索集合:QueryString -> Form -> Cookie ->ServerVariables。
<html>
<head>
</head>
<body>
<form aciton="log.asp" method="Get" name="login">
<input type=text name=logid>
<input type=text name=password>
<input type=submit name=submit1 value="提交">
</form>
</body>
</html>
当数据提交到服务器端的log.asp文件后,在log.asp中使用Request对象得到用户提交的数据,加以判断用户是否合法。log.asp文件如下:
<%
dim User
dim Passwd
User=Request.QueryString("logid")
Passwd=Request.QueryString("password")
if User="jeff" then
if Passwd="123456" then
Response.write "登录成功!"
else
Response.write "密码错误!"
end if
else
Response.write "用户名错误!"
end if
%>
上面这个例子中Method属性使用了Get方法,所以使用Request.QueryString接收数据,相反若Method属性使用了Post方法,则使用Request.Form接收数据。
而ServerVariables集合可用于提供有关随HTTP请求一起传递的头信息,它的引用格式为:
Request.ServerVariables("关键字")
其中的“关键字有:
REMOTE_ADDR-> 可以知道客户端的IP
URL-> 得到系统的URL路径
PATH_TRANSLATED-> 当前Active Server Page的真实地址
HTTP_UA_OS -> 浏览器所在的操作系统
……