美文网首页程序员
Python CGI浅尝

Python CGI浅尝

作者: _青菜_ | 来源:发表于2017-08-28 10:51 被阅读58次

前言

Pyhton CGI是Common Gateway Interface,即通用网关接口。好吧,其实并不知道他的使用场景,我是在Python群里看见一个童鞋再问相关的问题,感觉挺好玩于是自己也尝试一下,顺便解决那个童鞋的问题。欢迎使用过的小伙伴告诉我一下使用场景。本实例基于ubuntu 16.04 ,python2.7,apache2.

CGI coding

1.我们写个下载的功能,

vim download.py
  #!/usr/bin/python
  # -*- coding: UTF-8 -*-
  
  import cgi
  
  # HTTP 头部
  print "Content-Disposition: attachment; filename=\"foo.txt\"";

  # 打开文件
 fo = open("foo.txt", "rb")
 
 str = fo.read();
 print str
 
 # 关闭文件
 fo.close()

2.同级目录新建一个foo.txt,在里面输入任意内容。
3.python解释器直接运行,能够打印出txt内容即可。

搭建apache2 cgi运行环境

1.安装apache2

sudo apt install -y apache2

2.开启cgi

cd /etc/apache2/sites-enabled
sudo vim 000-default.conf
把Include conf-available/serve-cgi-bin.conf取消注释

cd ../mods-enabled
#添加cgi模块
sudo vim cgi.load
写入 LoadModule cgi_module /usr/lib/apache2/modules/mod_cgi.so 

cd ../conf-enabled
sudo vim serve-cgi-bin.conf
修改:
ScriptAlias /cgi-bin/ /var/www/cgi-bin/ 
添加:
AddHandler cgi-script .cgi .pl .py .sh
见下图: 
cgi.jpg

3.创建cgi目录

cd /var/www/
sudo mkdir cgi-bin
cd cgi-bin
把之前的py和txt 拷贝进去
#赋予权限
sudo chmod +x *

4.重启apache2

sudo service apache2 restart

打开浏览器测试

访问地址:http://localhost/cgi-bin/download.py,自动下载了txt文件。

结语

猛一看浏览器直接运行py文件,有木有很高大上。感兴趣的可以尝试一下。python的web框架异彩纷呈CGI的应用场景在哪里?

相关文章

  • Python CGI浅尝

    前言 Pyhton CGI是Common Gateway Interface,即通用网关接口。好吧,其实并不知道他...

  • python3在windows上CGI的编程配置

    Python CGI编程 什么是CGICGI 目前由NCSA维护,NCSA定义CGI如下:CGI(Common G...

  • python 教程笔记day9

    Python CGI编程 CGI(Common Gateway Interface) Web服务器配置 配置参考 ...

  • Python notes(3/3)

    目录 一,Python 面向对象 二,Python 正则表达式 三,Python CGI编程 四,Python 操...

  • Linux+Python+Apache+CGI的环境搭建

    在学习Python的CGI编程中,碰到了一些问题,在此处记录下来。地址:Python CGI编程 按照教程配置环境...

  • 浅尝Python

    前言 Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打...

  • 浅尝Python

    任务: 在Mac上,利用Python实现一个对App进行codesign的脚本。运行“codesign.py [i...

  • Python+Apache+CGI

    环境安装好(包括Python、Apache以及相关的组件),从CGI配置开始。 1.配置CGI环境 Apache支...

  • mac下 配置 CGI python

    python CGI MAC下的环境配置 之前查的资料都太老 Unix系统自带apache 配置CGI很好配 但...

  • Python CGI编程

    注意 如果运行不起来,可以修改引用路径 print后的空格去掉 chmod 755 fileName.py 什么是...

网友评论

    本文标题:Python CGI浅尝

    本文链接:https://www.haomeiwen.com/subject/phywdxtx.html