码迷,mamicode.com
首页 > 编程语言 > 详细

从 Python 快速启动 CGI 服务器

时间:2019-02-18 12:47:01      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:后端   alt   bin   服务   class   device   init   目录结构   port   

很多人知道 Python 3 可以快速启动一个 HTTP 服务器:

$ python3 -m http.server 8000

今天我查阅 http.server 模块发现它支持运行 CGI 脚本,只要加上 --cgi 选项。

入门 Web 后端的初学者一定是要学习 CGI 的(不管是学历史还是学概念都有好处),而配置 Apache / NGINX 环境对他们来说可能比较困难。我发现用 Python 这种自带的基础服务器既方便又简单。

例子

我们来写一个 Hello World 的 Python CGI 程序 hello.py 放在 cgi-bin/ 里:

#!/usr/bin/python3
print(‘Content-type: text/html‘)
print()
print(‘Hello world!‘)

再写一个前端网页 index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Hello Test</title>
</head>
<body>
    <form action="/cgi-bin/hello.py" method="post">
        <button type="submit">Hello</button>
    </form>
</body>
</html>

整个目录结构为:

cgi-bin/
    hello.py
index.html

然后将 CGI 脚本赋予运行权限:

$ chmod a+x cgi-bin/hello.py

运行测试

运行

$ python3 -m http.server --cgi 8000

浏览器访问 http://127.0.0.1:8000/

技术图片

点击按钮:

技术图片

(本文完)

从 Python 快速启动 CGI 服务器

标签:后端   alt   bin   服务   class   device   init   目录结构   port   

原文地址:https://www.cnblogs.com/gscnblog/p/10394782.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!