# $request - HTTP请求的信息

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

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

如果程序流是由后端定时执行或者二次开发脚本执行的,那么此变量内部的属性会返回空值。但调用者也可以通过传递相关参数来模拟请求信息,就传递一个$request参数即可,值是一个JSON,符合变量内部的属性命名规范。

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

  • $request.method - 请求的方法
  • $request.path - 请求的路径(不含contextPath,不含参数)
  • $request.parameters - 请求的参数,是一个JSON对象
  • $request.requestURI - 请求的URI(含contextPath,不含参数)
  • $request.queryString - 请求参数部分,即问号后面的部分(不含问号)
  • $request.protocol - 请求的协议(带版本),如HTTP/1.1
  • $request.scheme - 请求的协议(不带版本),如httphttps
  • $request.port - 请求的端口
  • $request.headers - 请求的headers,是一个JSON对象
  • $request.characterEncoding - 请求的字符编码
  • $request.locale - 请求的语言
  • $request.contentType - 请求的MIME类型
  • $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.headers - 所有的请求头,是一个JSON对象
  • $request.requestBody - POST请求有效,根据请求的contentType返回不同类型,如果是JSON返回JSON对象,其他情况可能是字符串,对于上传文件的请求,返回空
  • $request.files - POST请求且Content-Type: multipart/form-data;时有效,表示是一个上传文件的请求,返回一个数组对象,成员是文件,文件已经提前存放到临时文件中了
是否有帮助?
0条评论
评论