---
navTitle: $request
---
# $request - HTTP请求的信息

`$request`通常使用在程序流中，表示当前交互发生时的WEB请求的信息。常用于：

1. 在程序流中判断只有当请求地址是来自内网地址时才执行某些操作，`$request.remoteAddr`获取发送请求的IP地址。
2. 在程序流中判断只有当请求的方法是POST时才执行某些操作，`$request.method` 获取请求的方法。

如果程序流是由后端定时执行或者二次开发脚本执行的，那么此变量内部的属性会返回空值。

在表达式中可以通过`$request.xxx`的形式获取细节信息，包括：

- `$request.method` - 请求的方法
- `$request.path` - 请求的路径（不含contextPath，不含参数）
- `$request.parameters` - 请求的参数，是一个JSON对象
- `$request.requestURI` - 请求的URI(含contextPath，不含参数)
- `$request.queryString` - 请求参数部分，即问号后面的部分（不含问号）
- `$request.protocol` - 请求的协议（带版本），如`HTTP/1.1`
- `$request.scheme` - 请求的协议（不带版本），如`http`、`https`
- `$request.port` - 请求的端口
- `$request.headers` - 请求的headers，是一个JSON对象
- `$request.characterEncoding` - 请求的字符编码
- `$request.locale` - 请求的语言
- `$request.contentType` - 请求的MIME类型，不含charset
- `$request.contentLength` - 请求的body长度
- `$request.remoteAddr` - 请求的远程地址
- `$request.remoteHost` - 请求的远程主机
- `$request.remotePort` - 请求的远程端口
- `$request.localAddr` - 本机响应请求的IP地址
- `$request.localPort` - 本机响应请求的端口
- `$request.cookies` - cookies，是一个JSON对象
- `$request.contextPath` - 请求的contextPath，如`/api`
- `$request.sessionId` - 当前会话的ID
- `$request.requestBody` - POST请求有效，根据请求的contentType返回不同类型，如果是JSON返回JSON对象，其他情况可能是字符串，对于上传文件的请求，返回空
- `$request.files` - POST请求且`Content-Type: multipart/form-data;`时有效，表示是一个上传文件的请求，返回一个数组对象，成员是文件，文件已经提前存放到临时文件中了
