Skip to content

cHttpServerRequest 请求对象 ​

简介 ​

cHttpServerRequest 封装了 HTTP 请求的所有信息,包括请求方法、URL、头部、参数、表单数据、JSON 数据等。

属性 ​

Method ​

请求方法枚举值。

vb
Public Method As EnumRequestMethod

取值:

  • ReqPost = 1
  • ReqGet = 2
  • ReqPut = 3
  • ReqDelete = 4
  • ReqOptions = 5

示例:

vb
If ctx.Request.Method = ReqPost Then
    Debug.Print "POST 请求"
End If

MethodName ​

请求方法名称字符串。

vb
Public MethodName As String

示例:

vb
Debug.Print "方法: " & ctx.Request.MethodName  ' 输出: GET 或 POST 等

HttpVersion ​

HTTP 版本。

vb
Public HttpVersion As String

示例:

vb
Debug.Print "HTTP 版本: " & ctx.Request.HttpVersion  ' 输出: HTTP/1.1

url ​

完整请求 URL(已解码)。

vb
Public url As String

示例:

vb
Debug.Print "URL: " & ctx.Request.url
' 输出: /user/list?page=1&limit=10

PathInfo ​

请求路径(不含查询参数)。

vb
Public PathInfo As String

示例:

vb
' 请求 /user/list?page=1
Debug.Print "路径: " & ctx.Request.PathInfo
' 输出: /user/list

PathInfoList ​

路径段集合(cCollection 类型),将 URL 路径按 / 分割后的每一段存入集合,键和值都是段名,支持按索引和按键访问。

vb
Public PathInfoList As New cCollection

示例:

vb
' 请求 GET /api/user/list?page=1
ctx.Request.PathInfoList(1)          ' → "api"
ctx.Request.PathInfoList.Count       ' → 3
ctx.Request.PathInfoList.Exists("api") ' → True

👉 完整用法见 参数路由与路径段解析


PathInfoController ​

自动路由解析的控制器名。

vb
Public PathInfoController As String

示例:

vb
' 请求 /User/List
Debug.Print "控制器: " & ctx.Request.PathInfoController
' 输出: User

PathInfoAction ​

自动路由解析的方法名。

vb
Public PathInfoAction As String

示例:

vb
' 请求 /User/List
Debug.Print "方法: " & ctx.Request.PathInfoAction
' 输出: List

QueryInfo ​

查询参数字符串。

vb
Public QueryInfo As String

示例:

vb
' 请求 /user?page=1&limit=10
Debug.Print "查询: " & ctx.Request.QueryInfo
' 输出: page=1&limit=10

QueryString ​

查询参数字典。

vb
Public QueryString As New Dictionary

示例:

vb
' GET /user?id=123&name=张三
Dim id As String
id = ctx.Request.QueryString("id")

Dim name As String
name = ctx.Request.QueryString("name")

RouteParams ​

路由参数字典。当使用参数路由(如 /api/user/{id})匹配成功后,URL 中的参数值会存入此字典。

vb
Public RouteParams As New Dictionary

示例:

vb
' 路由:/api/user/{id},请求:GET /api/user/123
Dim userId As String
userId = ctx.Request.RouteParams("id")    ' → "123"

' 检查参数是否存在
If ctx.Request.RouteParams.Exists("id") Then ...

👉 完整用法见 参数路由与路径段解析


Form ​

POST 表单数据字典。

vb
Public Form As New Dictionary

示例:

vb
' POST 表单: username=admin&password=123
Dim username As String
username = ctx.Request.Form("username")

Dim password As String
password = ctx.Request.Form("password")

Json ​

JSON 数据对象。

vb
Public Json As New cJson

示例:

vb
' POST JSON: {"name":"张三","age":25}
Dim name As String
name = ctx.Request.Json.GetItem("name")

Dim age As Long
age = ctx.Request.Json.GetItem("age")

请求头部字典。

vb
Public Header As New Dictionary

示例:

vb
' 获取 User-Agent
If ctx.Request.Header.Exists("User-Agent") Then
    Debug.Print ctx.Request.Header("User-Agent")
End If

' 获取 Authorization
Dim token As String
token = ctx.Request.Header("Authorization")

HeaderRaw ​

原始请求头字符串。

vb
Public HeaderRaw As String

HeaderUserAgent ​

User-Agent 快捷访问。

vb
Public HeaderUserAgent As String

HeaderAccept ​

Accept 头部快捷访问。

vb
Public HeaderAccept As String

HeaderHost ​

Host 头部。

vb
Public HeaderHost As String

HeaderHostDomain ​

域名部分。

vb
Public HeaderHostDomain As String

HeaderHostPort ​

端口部分。

vb
Public HeaderHostPort As Long

HeaderContentType ​

Content-Type 头部。

vb
Public HeaderContentType As String

HeaderContentLength ​

Content-Length 头部。

vb
Public HeaderContentLength As Long

RawBodyText ​

原始请求体文本。

vb
Public Property Get RawBodyText() As String

RawBodyBin ​

原始请求体字节数组。

vb
Public Property Get RawBodyBin() As Byte()

Item (默认属性) ​

智能获取参数值(从 QueryString、Form、Json 按顺序查找)。

vb
Public Property Get Item(ByVal key) As Variant

示例:

vb
' 自动从 query/form/json 获取参数
Dim value As Variant
value = ctx.Request("username")
value = ctx.Request("page")

最后更新: 2026-06-11

VB6及其LOGO版权为微软公司所有