Skip to content

request — 请求对象 ​

request 模块封装了 HTTP 请求信息,用于在接口脚本中获取请求参数、请求头、Cookie 等。

引入方式 ​

request 为全局对象,无需 require,可直接使用。

参数获取 ​

Get — 获取 URL 查询参数 ​

javascript
var id = request.Get("id")

Post — 获取 POST 表单字段 ​

javascript
var name = request.Post("name")

Body — 获取 JSON 请求体 ​

javascript
var body = request.Body()
// 返回: {name: "张三", age: 25}

RawBody — 获取原始请求体 ​

javascript
var raw = request.RawBody()
// 返回: '{"name":"张三","age":25}'

Param — 统一参数获取 ​

按优先级获取参数:路由参数 > 脚本参数 > Query > Post > Body

javascript
var id = request.Param("id")

Input — 统一输入获取 ​

按优先级获取输入:JSON Body > POST > GET > 默认值

javascript
var name = request.Input("name", "默认值")

All — 获取所有输入参数 ​

javascript
var all = request.All()

Only — 只获取指定字段 ​

javascript
var data = request.Only(["name", "email"])

Except — 排除指定字段 ​

javascript
var data = request.Except(["password", "token"])

Has — 判断参数是否存在 ​

javascript
if (request.Has("id")) {
    // 参数存在
}

File — 获取上传文件 ​

javascript
var file = request.File("avatar")
// 返回: {filename: "photo.jpg", size: 102400, ...}

请求信息 ​

方法返回值说明
Method()string请求方法(GET/POST/PUT/DELETE)
Path()string请求路径
FullPath()string完整路由路径
URL()string完整 URL
IP()string客户端真实 IP
UserAgent()stringUser-Agent
Referer()string来源 URL
Host()string主机名
Scheme()string协议(http/https)
ContentType()stringContent-Type
Port()string服务器端口
BaseURL()string基础 URL

请求判断 ​

方法返回值说明
IsHTTPS()bool是否 HTTPS
IsAJAX()bool是否 AJAX 请求
IsJSON()bool是否 JSON 请求
IsForm()bool是否表单请求
IsMobile()bool是否移动设备
IsBot()bool是否爬虫

Header — 获取请求头 ​

javascript
var auth = request.Header("Authorization")

Headers — 获取所有请求头 ​

javascript
var headers = request.Headers()
javascript
var token = request.Cookie("token")
javascript
var cookies = request.Cookies()

认证信息 ​

AuthBearer — 获取 Bearer Token ​

javascript
var token = request.AuthBearer()

AuthBasic — 获取 Basic 认证凭据 ​

javascript
var creds = request.AuthBasic()
// 返回: [username, password]

完整示例 ​

javascript
// 获取请求参数
var id = request.Param("id")
var name = request.Input("name", "")
var body = request.Body()

// 获取请求信息
var method = request.Method()
var ip = request.IP()

// 判断请求类型
if (request.IsJSON()) {
    var data = request.Body()
}

// 获取认证信息
var token = request.AuthBearer()

// 获取上传文件
var file = request.File("avatar")
if (file) {
    log.Info("上传文件: " + file.filename)
}

版权所有.