Python 中的 CGI(Common Gateway Interface)编程是一种通过 Web 服务器执行 Python 脚本来生成动态网页内容的技术。CGI 允许我们在 Web 服务器上运行 Python 脚本,并将结果返回给客户端浏览器。下面是一些关于 Python CGI 编程的详细介绍和示例说明:
1、基本的 CGI 脚本结构:
#!/usr/bin/python
print("Content-type:text/html\r\n\r\n")
print("<html>")
print("<head>")
print("<title>CGI Example</title>")
print("</head>")
print("<body>")
print("<h2>Hello, CGI!</h2>")
print("</body>")
print("</html>
2、读取表单数据:
#!/usr/bin/python
import cgi
form = cgi.FieldStorage()
name = form.getvalue('name')
print("Content-type:text/html\r\n\r\n")
print("<html>")
print("<head>")
print("<title>Greeting Page</title>")
print("</head>")
print("<body>")
print(f"<h2>Hello, {name}!</h2>")
print("</body>")
print("</html>
3、处理文件上传:
#!/usr/bin/python
import cgi
import cgitb
cgitb.enable()
form = cgi.FieldStorage()
fileitem = form['filename']
if fileitem.filename:
with open('/path/to/uploaded_files/' + fileitem.filename, 'wb') as f:
f.write(fileitem.file.read())
print("File uploaded successfully!")
else:
print("No file was uploaded.")
4、使用模板生成 HTML:
#!/usr/bin/python
from string import Template
template = Template("""
<html>
<head>
<title>$title</title>
</head>
<body>
<h2>Hello, $name!</h2>
</body>
</html>
5、重定向:
#!/usr/bin/python
print("Location: http://www.example.com")
print("Content-type:text/html\r\n\r\n")
以上是一些 Python CGI 编程的示例,展示了如何创建简单的 CGI 脚本、处理表单数据、文件上传、使用模板生成 HTML 等常见操作。通过 CGI 技朰,我们可以实现在 Web 上动态生成内容,与用户进行交互,并处理用户提交的数据。