【openresty】获取post请求数据FormInputNginxModule模块
关于openresty的一些介绍看这里。
首先,实验背景为openresty作为后台来处理前台post传递的数据。
在openresty内,有一个FormInputNginxModule模块,作用是解析post请求中的参数。
如果要使用该模块,需要在编译openresty源码时,在"./configure"一步添加参数:
./configure --add-module=/somepath/form-input-nginx-module --add-module=/somepath/ngx_devel_kit
在这里可以查看到FormInputNginxModule模块的说明。
我们需要获取post请求中的数据,所以这里用到FormInputNginxModule模块的下面这个命令:
set_form_input $variable argument;
于是,我们有post请求:
var json = {
data: "Hello!"
};
$.post(
'save',
json,
function(callback){
alert(callback);
}
);
其中function用以输出后台返回的数据。
接着,我们有nginx配置文件nginx.conf:
user root;
worker_processes ; error_log logs/error.log;
pid logs/nginx.pid; events {
worker_connections ;
# multi_accept on;
} http {
include mime.types; access_log logs/access.log; server {
listen ;
server_name localhost; location / {
root /var/www/aceEditor;
index index.htm index.html;
} location /save {
set_form_input $data data;
echo $data;
}
}
}
这样,当前台post数据时,就会触发nginx的/save块,于是通过FormInputNginxModule模块的set_form_input指令将post的data数据set给了变量$data,然后我们就可以处理获取的变量。在这个实验中,使用echo向前台返回数据。
于是,前台点击post后,会弹出响应:
到这里,一个完整的post过程就完成了。
随后,在post提交的json中传递的参数,都可以用FormInputNginxModule模块的set_form_input指令来获取,这样,后台就取到了前天传递的数据,接着结合lua,继续更多的操作。
【openresty】获取post请求数据FormInputNginxModule模块的更多相关文章
- 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换
[源码下载] 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换 作者:webabcd 介绍速战速决 之 PHP ...
- 测开之路一百二十六:flask之获取request请求数据
可以根据flask的request对象获取所有的请求信息 path = request.path # 获取请求地址method = request.method # 获取请求方法ip = reques ...
- 获取post请求数据工具类
package com.ccidit.features.otherFunctions.util; import java.io.BufferedReader; import java.io.IOExc ...
- WebAPI获取客户端请求数据
1.什么是WebAPI,详见:http://www.cxyclub.cn/n/25123/2.一般情况下我们不需要去关心客户端的请求数据,WebAPI会通过自己的方式去将客户端请求的数据转换为实体对象 ...
- Flask04 后台获取请求数据、视图函数返回类型、前台接受响应数据
1 后台获取请求数据 1.1 提出问题 前台发送请求的方式有哪些 后台如何获取这些请求的参数 1.2 前台发送请求的方式 GET.POST.AJAX 点睛:如果不指定请求方式,浏览器默认使用GET请求 ...
- yii学习笔记(4),获取请求数据的request组件
yii在控制器中获取请求数据需要通过request组件来完成 <?php namespace app\controllers; use yii; use yii\web\Controller; ...
- java getway springcloud 记录请求数据
java getway springcloud 记录请求数据,兼容post请求无参数和response返回无参数 方式1 import com.icar.web.icarutils.util.Clie ...
- C#爬虫之通过Selenium获取浏览器请求响应结果
前言 在进行某些爬虫任务的时候,我们经常会遇到仅用Http协议难以攻破的情况,比如协议中带有加密参数,破解需要花费大量时间,那这时候就会用Selenium去模拟浏览器进行页面上的元素抓取 大多数情况下 ...
- openresty 学习笔记二:获取请求数据
openresty 学习笔记二:获取请求数据 openresty 获取POST或者GET的请求参数.这个是要用openresty 做接口必须要做的事情.这里分几种类型:GET,POST(urlenco ...
随机推荐
- php创建文件并写入信息
$myfile = fopen("c:\\newfile.txt", "w") or die("Unable to open file!") ...
- C#对DBF文件的操作
protected void Page_Load(object sender, EventArgs e) { System.Data.Odbc.OdbcConnection conn = new Sy ...
- Take advantage of “Integrated Calling” to know whom suspect talked to
A new feature in iOS 10 is "Integrated Calling". An integrated call from Chat App like Nav ...
- awk 命令
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...
- 让ztree树默认是关闭的
只需要在ztree的回调函数中加 var treeObj = $.fn.zTree.getZTreeObj("zTreeContent");treeObj.expandAll(tr ...
- sudo,linux 新建账号,并开通ssh登录
新建账号需要root账号或sudo权限,sudo配置保存在/etc/sudoers文件. sudoers的配置格式一般为: root ALL=(ALL:ALL) ALL %sudo ALL=(ALL: ...
- excel解析二维数组结构的excel
public void fileImport(Ufile ufile) throws Exception { String filePath = ufile.getFilePath(); List&l ...
- window10系统安装SQL数据库和小蝴蝶的问题
最近刚刚升了windows10系统.由于以前一直使用的是SQL2008数据库,所以也就没有下载最新的数据库,但是在安装的过程中一直提示让重启,重启了很多回也没有用. 在启动SQL2008安装程序的时候 ...
- maven本地安装jar包同时生成pom文件
maven 本地安装jar包:mvn install:install-file -Dfile=本地路径/ojdbc12.jar -DgroupId=com.oracle -DartifactId=oj ...
- 如何在java中拟合正态分布
前言 最近在工作中需要拟合高斯曲线,在python中可以使用 scipy,相关代码如下: #!/usr/bin/env python # -*- coding=utf-8 -*- %matplotli ...