需要 Scripting PRO
HttpRequest 类表示一个由客户端发往服务器的 HTTP 请求对象。它封装了请求的路径、方法、头部、请求体、来源地址以及解析后的参数信息,可在服务器的路由处理函数中使用。
HttpRequest 通常作为参数传入由 HttpServer.registerHandler() 注册的处理函数中,用于:
application/x-www-form-urlencoded 与 multipart/form-data);path: string请求的路径部分,不包含查询参数。
示例:
method: string请求的 HTTP 方法,例如 "GET", "POST", "PUT", "DELETE" 等。
示例:
headers: Record<string, string>包含请求头部的键值对对象。
示例:
body: Data请求体内容,封装为 Data 对象。
可通过 Data.toRawString("utf-8") 等方法将其转换为文本。
示例:
address: string | null请求来源的客户端 IP 地址。
若无法识别来源,则为 null。
示例:
params: Record<string, string>路径参数对象,用于访问定义在路由路径中的占位符。
示例:
访问 /user/123 时输出:
queryParams: Array<{ key: string; value: string }>URL 查询参数数组,每项包含 key 与 value。
可用于读取 ?key=value 形式的参数。
示例:
hasTokenForHeader(headerName: string, token: string): boolean检查指定请求头中是否包含给定的令牌(通常用于 Authorization 或自定义安全验证)。
参数:
| 参数名 | 类型 | 说明 |
|---|---|---|
headerName |
string |
要检查的请求头名称(不区分大小写)。 |
token |
string |
期望匹配的令牌字符串。 |
返回值:
true:请求头中包含该令牌;false:不包含。示例:
parseUrlencodedForm(): Array<{ key: string; value: string }>解析 application/x-www-form-urlencoded 格式的表单请求体。
通常用于处理 HTML 表单的 POST 请求。
返回值:
返回一个数组,每个元素包含 key 与 value。
示例:
假设请求体为:
则输出:
parseMultiPartFormData(): Array<{ name: string | null; filename: string | null; headers: Record<string, string>; data: Data }>解析 multipart/form-data 格式的表单请求(通常用于文件上传)。
返回值: 返回一个数组,每个元素代表一个表单字段或文件项,包含以下属性:
| 属性 | 类型 | 说明 |
|---|---|---|
name |
string | null |
表单字段名称。 |
filename |
string | null |
如果是文件上传项,则为文件名;否则为 null。 |
headers |
Record<string, string> |
文件或字段的头部信息。 |
data |
Data |
字段或文件内容数据。 |
示例:
以下示例展示了如何读取请求信息并返回响应: