目录
- Request 对象简介
- Request.QueryString 获取 URL 参数
- Request.Form 获取表单数据
- Request.Cookies 读取 Cookie
- Request.ServerVariables 获取服务器和客户端信息
- Request.TotalBytes 获取请求体字节数
- 完整示例代码
- 参考资料
- 出站链接
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_METHOD | HTTP 请求方法(GET/POST) |
QUERY_STRING | URL 查询字符串 |
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. 参考资料
- Microsoft Docs – ASP Request 对象
- W3Schools – ASP Request Methods
- IIS 官方文档 – ASP 编程指南
9. 出站链接
掌握 ASP Request 对象,你就能处理用户输入、获取 URL 参数、读取 Cookie,并提取客户端和服务器信息!🚀
发表回复