一个cgi的例子
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
⼀个cgi的例⼦
下⾯是⼀个python实现的cgi脚本,⾥⾯体现了⼀些cgi的⽤法,使⽤其他脚本实现也都类似。
Python可能有⼀些更简单的⽅式,⽐如cgi库。
这个例⼦能够处理get和post两种请求,并获取两种请求的参数。
#!/usr/bin/python
#coding=utf-8
import psycopg2
import os
import sys
#返回信息中必须有Content-type
print"Content-type: text/html\n\n"
#通过环境变量REQUEST_METHOD获得请求⽅法
if os.environ["REQUEST_METHOD"] == "GET":
#cgi get请求通过系统变量 QUERY_STRING 来获取参数
limit = os.environ["QUERY_STRING"].split("=")[1]
else:
#cgi post请求从标准输⼊中获得参数
limit = sys.stdin.readline().split("=")[1]
#从数据库中读取数据
conn = psycopg2.connect(database="svmanager", user="svmanager", password="bT9Mkkhu7XBkz7uBa1UNHx", host="192.168.1.56", port="5432")
print"=========================="
cur = conn.cursor()
cur.execute("SELECT vm_name , vm_type from vms limit %s offset 0;" % limit )
rows = cur.fetchall()
print"<table style='border:1px solid black'>"
for row in rows:
print"<tr><td>", row[0], "</td><td>" , row[1] ,"</td></tr>"
print"</table>"
print"========================"
conn.close()。