NOTE
1.2 OpenResty
OpenResty 安装、Lua 入门与 ngx HTTP API。
这是历史学习笔记,可能存在过时或不完整的理解。
1. 是什么
用Lua增强的Nginx,可以用Lua访问MySQL、Redis、HTTP等
2. 安装
2.1. 常用Lua组件
3. Lua入门
4. openresty包
4.1. HTTP
- 请求行
-- 获取get请求参数
local arg=ngx.req.get_uri_args()
for k,v in pairs(arg) do
ngx.say("[GET] key:",k," v:",v)
ngx.say("换行符")
end
-- 获取post请求时,请求参数
ngx.req.read_body() -- 解析body参数之前一定要先读取body
local arg = ngx.req.get_post_args()
for k,v in pairs(arg) do
ngx.say("[POST] key:",k," v:",v)
ngx.say("<br>")
end
- 请求头
-- 获取header
local headers = ngx.req.get_headers()
for k,v in pairs(headers) do
ngx.say("[header] name;",k," v:",v)
ngx.say("<br>")
end
- 请求体
--获取body信息
local data = ngx.req.get_body_data()
ngx.say(data)
ngx.req.get_body_data() -- 请求体,会偶尔出现读取不到直接返回nil的情况。如果请求体尚未被读取,请先调用ngx.req.read_body(或打开lua_need_request_body选项强制本模块读取请求体,此方法不推荐)
讨论
使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看