©
本文档使用
php中文网手册 发布
Request 对象用于从访客那里获取信息。
当浏览器向服务器请求页面时,这个行为就被称为一个 request(请求)。Request 对象用于从用户那里获取信息。它的集合、属性和方法描述如下:
| 集合 | 描述 |
|---|---|
| ClientCertificate | 包含了存储在客户证书中的所有的字段值。 |
| Cookies | 包含了 HTTP 请求中发送的所有的 cookie 值。 |
| Form | 包含了使用 post 方法由表单发送的所有的表单(输入)值。 |
| QueryString | 包含了 HTTP 查询字符串中所有的变量值。 |
| ServerVariables | 包含了所有的服务器变量值。 |
| 属性 | 描述 |
|---|---|
| TotalBytes | 返回在请求正文中客户端发送的字节总数。 |
| 方法 | 描述 |
|---|---|
| BinaryRead | 取回作为 post 请求的一部分而从客户端发送至服务器的数据,并把它存储在一个安全的数组中。 |
当用户点击链接时发送查询信息
本例演示如何在链接中向页面发送查询信息,并在目标页面中取回这些信息(在本例中是同一页面)。
<!DOCTYPE html> <html> <body> <a href="demo_simplequerystring.asp?color=green">Example</a> <% Response.Write(Request.QueryString) %> </body> </html>
QueryString 集合的简单应用
本例演示如何使用 QueryString 集合从表单取回值。(此表单使用 GET 方法,这意味着所发送的信息对用户来说是可见的。)
<!DOCTYPE html> <html> <body> <form action="demo_simplereqquery.asp" method="get"> First name: <input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> <input type="submit" value="Submit"> </form> <% Response.Write(Request.QueryString) %> </body> </html>
如何使用来自表单的信息
本例演示如何使用从表单取回的值。此表单使用 GET 方法。
<!DOCTYPE html> <html> <body> <form action="demo_simplereqquery.asp" method="get"> First name: <input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> <input type="submit" value="Submit"> </form> <% Response.Write(Request.QueryString) %> </body> </html>
来自表单的更多信息
本例演示如果输入字段包含若干相同的名称,QueryString 集合会包含什么内容。它将展示如何使用 Count 关键词来对 "name" 属性进行计数。此表单使用 GET 方法。
<!DOCTYPE html>
<html>
<body>
<%
If Request.QueryString<>"" Then
If Request.QueryString("name")<>", " Then
name1=Request.QueryString("name")(1)
name2=Request.QueryString("name")(2)
end if
end if
%>
<form action="demo_reqquery2.asp" method="get">
First name:
<input type="text" name="name" value="<%=name1%>" />
<br>
Last name:
<input type="text" name="name" value="<%=name2%>" />
<br>
<input type="submit" value="Submit" />
</form>
<hr>
<%
If Request.QueryString<>"" Then
Response.Write("<p>")
Response.Write("The information received from the form was:")
Response.Write("</p><p>")
Response.Write("name=" & Request.QueryString("name"))
Response.Write("</p><p>")
Response.Write("The name property's count is: ")
Response.Write(Request.QueryString("name").Count)
Response.Write("</p><p>")
Response.Write("First name=" & name1)
Response.Write("</p><p>")
Response.Write("Last name=" & name2)
Response.Write("</p>")
end if
%>
</body>
</html>
Form 集合的简单应用
本例演示如何使用 Form 集合从表单取回值。(此表单使用 POST 方法,这意味着所发送的信息对用户来说是不可见的。)
<!DOCTYPE html> <html> <body> <form action="demo_simpleform1.asp" method="post"> First name: <input type="text" name="fname" value="Donald" /> <br> Last name: <input type="text" name="lname" value="Duck" /> <br> <input type="submit" value="Submit" /> </form> <% Response.Write(Request.Form) %> </body> </html>
如何使用来自表单的信息
本例演示如何使用从表单取回的值。此表单使用了 POST 方法。
<!DOCTYPE html>
<html>
<body>
<form action="demo_simpleform.asp" method="post">
Your name: <input type="text" name="fname" size="20" />
<input type="submit" value="Submit" />
</form>
<%
dim fname
fname=Request.Form("fname")
If fname<>"" Then
Response.Write("Hello " & fname & "!<br>")
Response.Write("How are you today?")
End If
%>
</body>
</html>
来自表单的更多信息
本例演示如果输入字段包含若干相同的名称,Form 集合会包含什么内容。它将展示如何使用 Count 关键词来对 "name" 属性进行计数。此表单使用了 POST 方法。
<!DOCTYPE html>
<html>
<body>
<form action="demo_form2.asp" method="post">
First name:
<input type="text" name="name" value="Donald" />
<br>
Last name:
<input type="text" name="name" value="Duck" />
<br>
<input type="submit" value="Submit" />
</form>
<hr>
<p>The information received from the form above was:</p>
<%
If Request.Form("name")<>"" Then
Response.Write("<p>")
Response.Write("name=" & Request.Form("name"))
Response.Write("</p><p>")
Response.Write("The name property's count is: ")
Response.Write(Request.Form("name").Count)
Response.Write("</p><p>")
Response.Write("First name=" & Request.Form("name")(1))
Response.Write("</p><p>")
Response.Write("Last name=" & Request.Form("name")(2))
Response.Write("</p>")
End if
%>
</body>
</html>
带有单选按钮的表单
本例演示如何使用 Form 集合通过单选按钮与用户进行交互。此表单使用 POST 方法。
<!DOCTYPE html>
<html>
<%
dim cars
cars=Request.Form("cars")
%>
<body>
<form action="demo_radiob.asp method="post">
<p>Please select your favorite car:</p>
<input type="radio" name="cars"
<%if cars="Volvo" then Response.Write("checked")%>
value="Volvo">Volvo</input>
<br>
<input type="radio" name="cars"
<%if cars="Saab" then Response.Write("checked")%>
value="Saab">Saab</input>
<br>
<input type="radio" name="cars"
<%if cars="BMW" then Response.Write("checked")%>
value="BMW">BMW</input>
<br><br>
<input type="submit" value="Submit" />
</form>
<%
if cars<>"" then
Response.Write("<p>Your favorite car is: " & cars & "</p>")
end if
%>
</body>
</html>
带有复选框的表单
本例演示如何使用 Form 集合通过复选框与用户进行交互。此表单使用 POST 方法。
<!DOCTYPE html>
<html>
<body>
<%
fruits=Request.Form("fruits")
%>
<form action="demo_checkboxes.asp" method="post">
<p>Which of these fruits do you prefer:</p>
<input type="checkbox" name="fruits" value="Apples"
<%if instr(fruits,"Apple") then Response.Write("checked")%>>
Apple
<br>
<input type="checkbox" name="fruits" value="Oranges"
<%if instr(fruits,"Oranges") then Response.Write("checked")%>>
Orange
<br>
<input type="checkbox" name="fruits" value="Bananas"
<%if instr(fruits,"Banana") then Response.Write("checked")%>>
Banana
<br>
<input type="submit" value="Submit">
</form>
<%
if fruits<>"" then%>
<p>You like: <%Response.Write(fruits)%></p>
<%end if
%>
</body>
</html>
获取服务器变量
本例演示如何取得访客的浏览器类型、IP 地址等信息。
<!DOCTYPE html>
<html>
<body>
<p>
<b>You are browsing this site with:</b>
<%Response.Write(Request.ServerVariables("http_user_agent"))%>
</p>
<p>
<b>Your IP address is:</b>
<%Response.Write(Request.ServerVariables("remote_addr"))%>
</p>
<p>
<b>The DNS lookup of the IP address is:</b>
<%Response.Write(Request.ServerVariables("remote_host"))%>
</p>
<p>
<b>The method used to call the page:</b>
<%Response.Write(Request.ServerVariables("request_method"))%>
</p>
<p>
<b>The server's domain name:</b>
<%Response.Write(Request.ServerVariables("server_name"))%>
</p>
<p>
<b>The server's port:</b>
<%Response.Write(Request.ServerVariables("server_port"))%>
</p>
<p>
<b>The server's software:</b>
<%Response.Write(Request.ServerVariables("server_software"))%>
</p>
</body>
</html>
You are browsing this site with: Your IP address is: 42.120.45.233 The DNS lookup of the IP address is: 42.120.45.233 The method used to call the page: GET The server's domain name: shouce.ren The server's port: 80 The server's software: Microsoft-IIS/7.5
创建 welcome cookie
本例演示如何创建一个 Welcome Cookie。
<%
dim numvisits
response.cookies("NumVisits").Expires=date+365
numvisits=request.cookies("NumVisits")
if numvisits="" then
response.cookies("NumVisits")=1
response.write("Welcome! This is the first time you are visiting this Web page.")
else
response.cookies("NumVisits")=numvisits+1
response.write("You have visited this ")
response.write("Web page " & numvisits)
if numvisits=1 then
response.write " time before!"
else
response.write " times before!"
end if
end if
%>
<!DOCTYPE html>
<html>
<body>
</body>
</html>
探测用户发送的字节总数
本例演示如何探测用户在 Request 对象中发送的字节总数。
<!DOCTYPE html>
<html>
<body>
<form action="demo_totalbytes.asp" method="post">
Please type something:
<input type="text" name="txt"><br><br>
<input type="submit" value="Submit">
</form>
<%
If Request.Form("txt")<>"" Then
Response.Write("You submitted: ")
Response.Write(Request.Form)
Response.Write("<br><br>")
Response.Write("Total bytes: ")
Response.Write(Request.Totalbytes)
End If
%>
</body>
</html>