Linux下使用Python和CGI进行编码 (linux py cgi编码)

随着科技的不断发展,计算机编程也越来越普及。Python作为一种高级编程语言,被广泛用于各种应用领域。而CGI(Common Gateway Interface)则是一种Web服务器和Web应用程序之间的接口标准,用于在Web页面中执行程序并动态生成HTML。

在Linux系统下,Python和CGI的结合可以实现较为复杂的网络应用。本文将介绍如何在。

一、安装Python

在开始使用Python编写CGI脚本之前,首先需要在Linux系统中安装Python。一般情况下,Linux系统预安装了Python。可通过如下命令检查安装情况:

$ python -V

如果显示当前Python版本号,则说明Python已经安装成功。

二、创建CGI脚本

在Linux系统中,所有的CGI脚本需要存放在Web服务器的CGI目录中。可通过如下命令进入CGI目录:

$ cd /var/www/cgi-bin

在该目录下,可以创建一个简单的Python脚本并保存为test.py。脚本内容如下:

#!/usr/bin/python

print “Content-type:text/html\r\n\r\n”

print “”

print “”

print “Python CGI Test

print “”

print “”

print “

Welcome to Python CGI Test!

print “”

print “”

该脚本输出一个HTML页面,页面中包含欢迎信息。

三、给脚本添加执行权限

在Linux系统中,所有的CGI脚本必须具有可执行权限。可通过chmod命令来设置脚本的执行权限。如下所示:

$ chmod +x test.py

四、配置Web服务器

在Linux系统中,Apache服务器是最常用的Web服务器,本文以Apache服务器做演示。Apache服务器默认的CGI目录为/var/www/cgi-bin。可通过修改Apache服务器的配置文件来改变该目录的位置。

打开Apache服务器的配置文件,找到以下文字:

ScriptAlias /cgi-bin/ /var/www/cgi-bin/

将该文字修改为以下内容:

ScriptAlias /cgi-bin/ /home/user/cgi-bin/

其中/home/user/cgi-bin/为新的CGI目录位置。

保存文件并重启Apache服务器。

五、运行CGI脚本

在Web服务器中访问test.py,即可通过Web页面看到该脚本输出的HTML页面。访问地址为:

http://localhost/cgi-bin/test.py

若看到页面中显示了欢迎信息,则说明Python和CGI都已经成功地运行在Linux系统中了。

六、使用Python处理表单数据

在Web开发中,表单是经常用到的控件。可通过Python和CGI来处理表单数据。 Python提供了CGI模块来处理表单数据,下面介绍简单的例子。

HTML表单代码如下:

Name:

Age:

将表单数据提交至process.py,代码如下:

#!/usr/bin/python

import cgi

print “Content-type:text/html\r\n\r\n”

print “”

print “”

print “Process Form

print “”

print “”

form = cgi.FieldStorage()

if form.getvalue(“name”):

name = form.getvalue(“name”)

else:

name = “no input”

if form.getvalue(“age”):

age = form.getvalue(“age”)

else:

age = “no input”

print “

Name:

print “

%s

” % name

print “

Age:

print “

%s

” % age

print “”

print “”

该脚本将表单中的数据处理并输出至Web页面。

七、

本文介绍了在Linux下使用Python和CGI编码的方法,并以Web开发中常用的表单为例,说明了Python和CGI的应用。Python作为一种强大的脚本语言,通过与CGI的结合,在Web开发中可以发挥出更强大的应用。

相关问题拓展阅读:

请问linux cgi程序 处理button 和submit的区别?

首先你要分清 CGI (协议) 和 CGI Application(程序/脚本) 是两个不同的东西. 说 “…是外部应用程序(CGI程序)” 这是错的. CGI 不是程序, 也旁衫不是一种编程语言, 而是协议, 像 TP, POP3, FTP 那些协议.. 现在是 1.1 的版本 (详见: RFC3875) .

你用 php/perl/c/… 写出来的, 只是 CGI Application, 而不是 CGI. CGI 是靠 Web 服务器与浏览器互动来完成的 (所以你绝对曾经通过过 CGI ). 当中的 I ( Interface ) 指的就是 web server 的 I/O. 而这个 interface 就同时面向了你写的 Application 和 客户端的浏览器.

CGI Application (程序) — Web 服务器 ( CGI ) — 浏览器

具体一点… 某人从客户端对 web server 发出了个 submit form 的请求… 到了 web server 後, web server 就会将资料生成并变成 STDIN 的缓存 ( buffer ), 并等代你的 script 去 read(). 这使得你不用理会客户端是甚麼 window, linux 还是 ios, 用的是 chrome, firefox 还是 ie 还是橘启仔其他圆汪. 同样, 你的程序运行後, 就会经由 STDOUT 送出, 而对方也不用理会你用是 Apache 还是IIS, 还是 Ngnix… 这就是 CGI 的体现

1、用前台进行输入判断。

2、用button的onClick触发一个后台提交并接收返回信息,然后显示做衫到页面上。

以棚胡兄上都不会跳到其他页面链袭。

CGI 程序指什么?

符合CGI协议的程序就叫CGI程序。

一、CGI:Common Gateway Interface

CGI代表Common Gateway Interface(通用网关界面),它使在网络服务器下运行外部分应用程序(或网关)成为可能。CGI-BIN 目录是存放CGI脚本的地方。这些脚本使WWW服务器和浏览器能运行外部程序,而无需启动另一个原因程序。

它是运行在Web服务器上的一个程序,并由来自于浏览者的输人触发。CGI是在HTTP服务器下运行外部程序(或网关)的一个接口,它能让网络用户访问远程系统上的使用类型程序,就好像他们在实际使用那些远程计算机一样。

CGI能够让浏览者与服务器进行交互,如果你曾经遇到过在网络上填表或者进行搜索,就很有可能就是用的CGI。

尽管CGI易于使用,但是当大批人同时使用一个CGI应用程序是会反应较慢,网络服务器 速度也会受到很大 影响。CGI应用程序的优点是可以独立运行。

CGI应清猛用程序可以由大多数的编程语言编写,如Perl(Practical Extraction and Report Language)、C\C++、Java 和Visual Basic等。不过对于那些没有太多编程经验的网页制作人来说,实在是一个不小的难题。

CGI应用程序的工作原理是这样的:

1.浏览器通过HTML表单或超链接请求指上一个CGI应用程序的URL。

2.服务器收发到请求。

3.服务器执行指定所CGI应用程序。

4.CGI应用程序执行所需要的操罩正则作,通常是基于浏览者输人的内容。

5.CGI应用程序把结果格式化为网络服务器和浏览器能够理解的文档(通常是HTML网页)。

6.网络服务器把结果返回到浏览器中。

有关CGI应用程序要注意的是:

CGI应用程序运行在浏览器可以请求的服务器系统上,执行时需要使用服务器CPU时间和内存。如果有成千上万的这种程序会同时运行物棚,那会对服务器系统提出极高的要求。你要慎重考虑这个问题,以防止服务器系统崩溃。

不完善的CGI应用程序可能成为别人非法进人服务器系统的通道,有可能导致重要的资料被删除或外泄。

CGI应用程序主要的用途有以下几种:

根据浏览者填写的HTML表单发送定制的答复。

创建可单击的图像缩小图。

创建一个浏览者可以搜索内容的数据库。

提供服务器与数据库的接口,并把结果转换成HTML文档。

制作动态HTML文挡。

如果一个CGI脚本可以在每台计算机上做同样的事情;编写脚本就会变的很容易。不幸的是,CGI脚本依赖于服务器的操作系统,因此,对于非UNIX服务器来说,Prl(UNIX下编写脚本的一个常用工具)脚本毫无用处。所以,你必须定制安装你的CGI脚本。

大多数服务器都提供CGI-BIN目录,但是这还不够。因为你应该拥有自己的CGI-BIN。这样,你就能运行自己的脚本(而不是让自己的系统去适应已存在于系统上的脚本)。因此,你的提供商应安装CGI-BIN,且能够帮助你编写脚本

二、ASP:Active Server Pages

ASP,活动服务器页面,就是一个编程环境,在其中,可以混合使用HTML、脚本语言以及组件来创建服务器端功能强大的Internet应用程序。 如果你以前创建过一个站点,其中混合了HTML、脚本语言以及组件,你就可以在其中加入ASP程序代码。通过在HTML页面中加入脚本命令,你可以创建一个HTML用户界面,并且,还可以通过使用组件包含一些商业逻辑规则。组件可以被脚本程序调用,也可以由其他的组件调用。

ASP的工作原理:

当在Web站点中融入ASP功能后,将发生以下事情:

1、用户调出站点内容,默认页面的扩展名是.asp。

2、浏览器从服务器上请求ASP文件。

3、服务器端脚本开始运行ASP。

4、ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTML页面内容。

5、页面信息发送到浏览器。

因为脚本是在服务器端运行的,所以Web服务器完成所有处理后,将标准的HTML页面送往浏览器。这意味着,ASP只能在可以支持的服务器上运行。让脚本驻留在服务器端的另外一个益处是:用户不可能看到原始脚本程序的代码,用户看到的,仅仅是最终产生的HTML内容

三、PHP:Personal Home Page

PHP 是一种服务器端的,嵌入HTML的脚本语言。PHP区别其他像客户端Javascript的地方是它的代码在服务器端执行.PHP能做什么?

更低水平,PHP可以做任何其他CGI程序所能做的事,例如收集表格数据,生成动态页面内容,或者收发cookies.可能最强大,最有意义的特性是PHP支持大范围的数据库.书写一个支持数据库的Web 页面是难以置信的简单.

下面是当前支持的数据库:

Adabas D InterBase Solid

dBase mSQL Sybase

Empress MySQL Velocis

FilePro Oracle Unix dbm

Informix PostgreSQL

PHP通过协议也支持与其他服务的”交谈”,像IMAP, SNMP, NNTP, POP3, 甚至是 HTTP. 你也可以打开晦涩的 网络接口和其他协议交互.

PHP的简要历史

1994年秋季, Raus Lerdorf 开始构思 PHP. 早期的非发行版本被用在他的主页上,以追踪谁在看他的在线简历. 1995年年初之一版本出台,当时PHP只被认为是个人主页开发工具.它由一个非常单纯的只能理解很少数特殊宏的分析引擎和 一些用在主页后端通用的工具组成.如留言簿,计数器和其他一些东西.这个分析器在1995年年中被重写并被命名为 PHP/FI 第二版. FI来自 Raus 写的另外一个包, 用于解释 html 形式的数据.他结合了个人主页工具脚本和形式解析器,并加 上mSQL支持.这样就产生 PHP/FI 了. PHP/FI以令人惊奇的步调成长,人们开始把自己的代码贡献给它.

很难给出它的硬统计表,但可以估计在1996年末,整个世界至少有15,000个网站在用PHP/FI.到1997年年中,这个 数字已经超过50,000了. 而在此时PHP的发展也发生了变化.由Raus自己偏爱的和几个人开发的项目变成一个更有组织的团 体成就.Zeev Suraski和Andi Gutmans重写了解析器.这个新的解析器成为PHP版本3的基础.许多有用的代码从PHP/FI 继承到PHP3,并且很多是完全重写的.

今天(1999年年中)不管是PHP/FI或PHP3与很多商业产品捆绑在一块,例如C2级强度的Web服务器和红帽子Linux. 根据NetCraft提供的数据推断,保守估计全世界应用PHP的网站已超过150,000个.由此看来,它比在因特网上运行Netscape 的旗舰企业服务器的站点还多.

.定义:

CGI(CommonGatewayInterface)是HTTP服务器与你的或其它机器

上的程序进行“交谈”的陆启一种工具,其程序须运行在网络服务器上。

2.功能:

绝大多数的CGI程序被用来解释处理杰自表单的输笑悉燃入信息,并在服

务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使

网页具有交互功能。

3.运行环境:

CGI程序在UNIX操作系统上CERN或NCSA格式的服务器上运行。

在其它操作系统(如:windowsNT及windows95等)的服务器上

也广泛地使用碰虚CGI程序,同时它也适用于各种类型机器。

4.CGI处理步骤:

⑴通过Internet把用户请求送到服务器。

⑵服务器接收用户请求并交给CGI程序处理。

⑶CGI程序把处理结果传送给服务器。

⑷服务器把结果送回到用户。

关于linux py cgi编码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux下使用Python和CGI进行编码 (linux py cgi编码)