目录搜索
文字
分享

ASP Request 对象



Request 对象用于从访客那里获取信息。


Request 对象

当浏览器向服务器请求页面时,这个行为就被称为一个 request(请求)。Request 对象用于从用户那里获取信息。它的集合、属性和方法描述如下:

集合

集合 描述
ClientCertificate 包含了存储在客户证书中的所有的字段值。
Cookies 包含了 HTTP 请求中发送的所有的 cookie 值。
Form 包含了使用 post 方法由表单发送的所有的表单(输入)值。
QueryString 包含了 HTTP 查询字符串中所有的变量值。
ServerVariables 包含了所有的服务器变量值。

属性

属性 描述
TotalBytes 返回在请求正文中客户端发送的字节总数。

方法

方法 描述
BinaryRead 取回作为 post 请求的一部分而从客户端发送至服务器的数据,并把它存储在一个安全的数组中。

在线实例

当用户点击链接时发送查询信息
本例演示如何在链接中向页面发送查询信息,并在目标页面中取回这些信息(在本例中是同一页面)。

1

2

3

4

5

6

7

8

9

10

11

12

<!DOCTYPE html>

<html>

<body>

 

<a href="demo_simplequerystring.asp?color=green">Example</a>

 

<%

Response.Write(Request.QueryString)

%>

 

</body>

</html>

QueryString 集合的简单应用
本例演示如何使用 QueryString 集合从表单取回值。(此表单使用 GET 方法,这意味着所发送的信息对用户来说是可见的。)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<!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 方法。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<!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 方法。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

<!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 方法,这意味着所发送的信息对用户来说是不可见的。)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<!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 方法。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<!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 方法。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

<!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 方法。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<!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 方法。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<!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 地址等信息。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

<!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>

1

2

3

4

5

6

7

You are browsing this site with:

Your IP address is42.120.45.233

The DNS lookup of the IP address is42.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。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<%

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 对象中发送的字节总数。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<!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>


上一篇:ASP Write 方法下一篇:ASP Cookies 集合