关于POST和GET的请求方法和区别请参考:HTTP协议下GET与POST的区别
GET方法
首先先使用html简单编写一个表单页面
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>GET方法传递数据(runoob.com)</title>
</head>
<body>
<form action="/cgi-bin/backend_get.py" method="get">
数据值1: <input type="text" name="data_1"> <br />
数据值2: <input type="text" name="data_2" />
<input type="submit" value="GET提交" />
</form>
</body>
</html>
运行示列:
后端python代码:
backend_get.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 添加GI处理模块
import cgi, cgitb
# 创建FieldStorage的实例化
form = cgi.FieldStorage()
#获取html页面传递过来的数据值
str_data_1 = form.getvalue('data_1')
str_data_2 = form.getvalue('data_2')
#打印输出
print "Content-type:text/html"
print
print "<html>"
print "<head>"
print "<meta charset=\"utf-8\">"
print "<title>GET</title>"
print "</head>"
print "<body>"
print "<h2>data_1:%s,data_2:%s</h2>" % (str_data_1, str_data_2)
print "</body>"
print "</html>"
写完之后别忘记给python脚本加上运行权限
别忘记sudo
sudo chmod 755 backend_get.py
运行示列:
前端:
请求url:
/cgi-bin/baeckend_get.py?data_1=test_1&data_2=test_2
后端输出:
data_1:test_1,data_2:test_2
POST方法:
表单代码只需要copy一份然后修改method属性值改为post即可
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>POST方法传递数据(runoob.com)</title>
</head>
<body>
<form action="/cgi-bin/hello_get.py" method="post">
数据值1: <input type="text" name="data_1"> <br />
数据值2: <input type="text" name="data_2" />
<input type="submit" value="POST提交" />
</form>
</body>
</html>
后端代码无需变更直接copy一份即可,将名字改为backend_post,py,无需给权限,copy会连同文件权限一并复制!
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 添加GI处理模块
import cgi, cgitb
# 创建FieldStorage的实例化
form = cgi.FieldStorage()
#获取html页面传递过来的数据值
str_data_1 = form.getvalue('data_1')
str_data_2 = form.getvalue('data_2')
#打印输出
print "Content-type:text/html"
print
print "<html>"
print "<head>"
print "<meta charset=\"utf-8\">"
print "<title>POST</title>"
print "</head>"
print "<body>"
print "<h2>data_1:%s,data_2:%s</h2>" % (str_data_1, str_data_2)
print "</body>"
print "</html>"
运行示列:
url:
/cgi-bin/baeckend_get.py
后端输出
data_1:test_1,data_2:test_2