目录

  1. Request 对象简介
  2. Request.QueryString 获取 URL 参数
  3. Request.Form 获取表单数据
  4. Request.Cookies 读取 Cookie
  5. Request.ServerVariables 获取服务器和客户端信息
  6. Request.TotalBytes 获取请求体字节数
  7. 完整示例代码
  8. 参考资料
  9. 出站链接

1. Request 对象简介

Request 对象用于获取客户端向服务器提交的数据,例如表单内容、URL 参数、Cookie、服务器变量等。

📌 常见功能

  • 获取 URL 参数(Request.QueryString
  • 获取表单提交数据(Request.Form
  • 读取 Cookie(Request.Cookies
  • 获取服务器和客户端信息(Request.ServerVariables
  • 获取请求的总字节数(Request.TotalBytes

2. Request.QueryString 获取 URL 参数

用于获取 URL 传递的参数,例如:
https://example.com/index.asp?user=zhangsan&id=123

🔹 基本用法

<%
Dim username, userid
username = Request.QueryString("user")
userid = Request.QueryString("id")
Response.Write "用户名:" & username & "<br>"
Response.Write "用户ID:" & userid
%>

🔹 获取多个参数

<%
Dim params
params = Request.QueryString("user") & " - " & Request.QueryString("id")
Response.Write params
%>

🔹 获取全部参数

<%
Dim key
For Each key In Request.QueryString
    Response.Write key & " = " & Request.QueryString(key) & "<br>"
Next
%>


3. Request.Form 获取表单数据

用于获取 POST 请求的表单数据。

🔹 示例 HTML 表单

<form method="POST" action="process.asp">
    用户名:<input type="text" name="username"><br>
    密码:<input type="password" name="password"><br>
    <input type="submit" value="提交">
</form>

🔹 ASP 处理表单数据(process.asp)

<%
Dim username, password
username = Request.Form("username")
password = Request.Form("password")

Response.Write "用户名:" & username & "<br>"
Response.Write "密码:" & password
%>

🔹 遍历所有表单数据

<%
Dim key
For Each key In Request.Form
    Response.Write key & " = " & Request.Form(key) & "<br>"
Next
%>

📌 注意事项

  • Request.Form 仅适用于 POST 请求
  • 如果表单使用 GET 方法,应该用 Request.QueryString 读取数据

4. Request.Cookies 读取 Cookie

用于读取客户端存储的 Cookie

🔹 ASP 设置 Cookie

<%
Response.Cookies("username") = "zhangsan"
Response.Cookies("username").Expires = Date + 7
%>

🔹 ASP 读取 Cookie

<%
Dim username
username = Request.Cookies("username")
Response.Write "Cookie 用户名:" & username
%>

🔹 多级 Cookie(子键值)

<%
Response.Cookies("user")("name") = "zhangsan"
Response.Cookies("user")("email") = "zhangsan@example.com"
%>

<%
Dim name, email
name = Request.Cookies("user")("name")
email = Request.Cookies("user")("email")
Response.Write "用户名:" & name & "<br>"
Response.Write "邮箱:" & email
%>

📌 注意

  • Request.Cookies 只能获取存储在客户端的 Cookie
  • Cookie 可能因安全策略或过期而不可用

5. Request.ServerVariables 获取服务器和客户端信息

用于获取客户端、服务器、请求环境变量等信息。

🔹 常见 ServerVariables

变量名称说明
REMOTE_ADDR客户端 IP 地址
HTTP_USER_AGENT客户端浏览器信息
SERVER_NAME服务器名称
SERVER_PORT服务器端口
REQUEST_METHODHTTP 请求方法(GET/POST)
QUERY_STRINGURL 查询字符串
HTTP_REFERER来源页面

🔹 示例:获取客户端 IP 和浏览器信息

<%
Dim ip, userAgent
ip = Request.ServerVariables("REMOTE_ADDR")
userAgent = Request.ServerVariables("HTTP_USER_AGENT")

Response.Write "客户端 IP:" & ip & "<br>"
Response.Write "浏览器信息:" & userAgent
%>

🔹 获取所有 ServerVariables

<%
Dim key
For Each key In Request.ServerVariables
    Response.Write key & " = " & Request.ServerVariables(key) & "<br>"
Next
%>


6. Request.TotalBytes 获取请求体字节数

用于获取客户端提交的请求数据的字节数。

🔹 示例:获取请求体大小

<%
Dim totalBytes
totalBytes = Request.TotalBytes
Response.Write "请求体大小:" & totalBytes & " 字节"
%>


7. 完整示例代码

<%
' 获取 URL 参数
Dim user, id
user = Request.QueryString("user")
id = Request.QueryString("id")

' 获取表单数据
Dim email
email = Request.Form("email")

' 获取 Cookie
Dim savedUser
savedUser = Request.Cookies("username")

' 获取客户端 IP
Dim clientIP
clientIP = Request.ServerVariables("REMOTE_ADDR")

' 输出信息
Response.Write "<h2>ASP Request 对象示例</h2>"
Response.Write "URL 参数 - 用户:" & user & ", ID:" & id & "<br>"
Response.Write "表单数据 - 邮箱:" & email & "<br>"
Response.Write "Cookie - 用户名:" & savedUser & "<br>"
Response.Write "客户端 IP:" & clientIP
%>


8. 参考资料


9. 出站链接


掌握 ASP Request 对象,你就能处理用户输入、获取 URL 参数、读取 Cookie,并提取客户端和服务器信息!🚀