当前位置:首页 » 编程软件 » cgi脚本路径

cgi脚本路径

发布时间: 2022-07-13 08:49:58

① 如何创建和使用python CGI脚本

你是否想使用Python语言创建一个网页,或者处理用户从web表单输入的数据?这些任务可以通过Python CGI(公用网关接口)脚本以及一个Apache web服务器实现。当用户请求一个指定URL或者和网页交互(比如点击””提交”按钮)的时候,CGI脚本就会被web服务器启用。CGI脚本调用执行完毕后,它的输出结果就会被web服务器用来创建显示给用户的网页。

配置Apache web服务器,让其能运行CGI脚本
在这个教程里,我们假设Apache web服务器已经安装好,并已运行。这篇教程使用的Apache web服务器(版本2.2.15,用于CentOS发行版6.5)运行在本地主机(127.0.0.1),并且监听80端口,如下面的Apache指令指定一样:

1
2

ServerName 127.0.0.1:80
Listen 80

下面举例中的HTML文件存放在web服务器上的/var/www/html目录下,并通过DocumentRoot指令指定(指定网页文件所在目录):

1

DocumentRoot "/var/www/html"

现在尝试请求URL:
这将返回web服务器中下面文件的内容:

1

/var/www/html/page1.html

为了启用CGI脚本,我们必须指定CGI脚本在web服务器上的位置,需要用到ScriptAlias指令:

1

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

以上指令表明CGI脚本保存在web服务器的/var/www/cgi-bin目录,请求URL里包含/cgi-bin/的将会搜索这个目录下的CGI脚本。
我们必须还要明确CGI脚本在/var/www/cgi-bin目录下有执行权限,还要指定CGI脚本的文件扩展名。使用下面的指令:

1
2

Options +ExecCGI
AddHandler cgi-script .py

下面访问URL:
这将会调用web服务器中下面所示脚本:

1

/var/www/cgi-bin/myscript-1.py

创建一个CGI脚本
在创建一个Python CGI脚本之前,你需要确认你已经安装了Python(这通常是默认安装的,但是安装版本可能会有所不同)。本篇教程使用的脚本是使用Python版本2.6.6编写的。你可以通过下面任意一命令(-V和–version参数将显示所安装Python的版本号)检查Python的版本。

Shell

1
2

$ python -V
$ python --version

如果你的Python CGI脚本要用来处理用户输入的数据(从一个web输入表单),那么你将需要导入Python cgi模块。这个模块可以处理用户通过web输入表单输入的数据。你可以在你的脚本中通过下面的语句导入该脚本:

Shell

1

import cgi

你也必须修改Python CGI脚本的执行权限,以防止web服务器不能调用。可以通过下面的命令增加执行权限:

Shell

1

# chmod o+x myscript-1.py

Python CGI例子
涉及到Python CGI脚本的两个方案将会在下面讲述:
使用Python脚本创建一个网页
读取并显示用户输入的数据,并且在网页上显示结果
注意:Python cgi模块在方案2中是必需的,因为这涉及到用户从web表单输入数据。
例子1 :使用Python脚本创建一个网页
对于这个方案,我们将通过创建包含一个单一提交按钮的网页/var/www/html/page1.html开始。

XHTML

1
2
3
4
5
6

<html>
<h1>Test Page 1</h1>
<form name="input" action="/cgi-bin/myscript-1.py" method="get">
<input type="submit" value="Submit">
</form>
</html>

当”提交”按钮被点击,/var/www/cgi-bin/myscript-1.py脚本将被调用(通过action参数指定)。通过设置方法参数为”get”来指定一个”GET”请求,服务器将会返回指定的网页。/var/www/html/page1.html在浏览器中的显示情况如下:

/var/www/cgi-bin/myscript-1.py的内容如下:

1
2
3
4
5
6
7

#!/usr/bin/python
print "Content-Type: text/html"
print ""
print ""
print "CGI Script Output"
print "This page was generated by a Python CGI script."
print ""

第一行声明表示这是使用 /usr/bin/python命令运行的Python脚本。”Content-Type: text/html”打印语句是必需的,这是为了让web服务器知道接受自CGI脚本的输出类型。其余的语句用来输出HTML格式的其余网页内容。
当”Submit”按钮点击,下面的网页将返回:

这个例子的要点是你可以决定哪些信息可以被CGI脚本返回。这可能包括日志文件的内容,当前登陆用户的列表,或者今天的日期。在你处理时拥有所有python库的可能性是无穷无尽的。
例子2:读取并显示用户输入的数据,并将结果显示在网页上
对于这个方案,我们将通过创建一个含有三个输入域和一个提交按钮的网页/var/www/html/page2.html开始。

XHTML

1
2
3
4
5
6
7
8
9

<html>
<h1>Test Page 2</h1>
<form name="input" action="/cgi-bin/myscript-2.py" method="get">
First Name: <input type="text" name="firstName"><br>
Last Name: <input type="text" name="lastName"><br>
Position: <input type="text" name="position"><br>
<input type="submit" value="Submit">
</form>
</html>

当”Submit”按钮点击,/var/www/cgi-bin/myscript-2.py脚本将被执行(通过action参数指定)。/var/www//html/page2.html显示在web浏览器中的图片如下所示(注意,三个输入域已经被填写好了):

/var/www/cgi-bin/myscript-2.py的内容如下:

Python

1
2
3
4
5
6
7
8
9
10
11
12
13
14

#!/usr/bin/python
import cgi
form = cgi.FieldStorage()
print "Content-Type: text/html"
print ""
print ""
print "CGI Script Output"
print ""
print "The user entered data are:"
print "First Name: " + form["firstName"].value + ""
print "Last Name: " + form["lastName"].value + ""
print "Position: " + form["position"].value + ""
print ""
print ""

正如前面提到,import cgi语句用来确保能够处理用户通过web输入表单输入的数据。web输入表单被封装在一个表单对象中,叫做cgi.FieldStorage对象。一旦开始输出,”Content-Type: text/html”是必需的,因为web服务器需要知道接受自CGI脚本的输出格式。用户输入的数据在包含form[“firstName”].value,form[“lastName”].value,和 form[“position”].value的语句中可以得到。那些中括号中的名称和/var/www/html/page2.html文本输入域中定义的名称参数一致。
当网页上的”Submit”按钮被点击,下面的网页将被返回。

这个例子的要点就是你可以很容易地读取并显示用户在web表单上输入的数据。除了以字符串的方式处理数据,你也可以用Python将用户输入的数据转化为可用于数值计算的数字。
结论
本教程演示了如何使用Python CGI脚本创建网页并处理用户在网页表单输入的数据。查阅更多关于Apache CGI脚本的信息,点击这里。查阅更多关于Python cgi模块的信息,点击这里。

② 怎么用通过cgi执行python脚本(excel转换为html的脚本)

可以直接用接口把excel内容发给前台显示吗,让前台去处理显示效果。

③ 每次上传网站内容时,服务器上有一个默认的CGI-BIN目录,请问这是什么

有那个目录说明 你的这个服务器可以支持ASP脚本,这个cgi-bin目录是ASP默认放CGI脚本的,当然你也可以重命名或者删除,前提是你在使用ASP做网页的时候,自己指定好路径就行了,如果你是用html做网页的话就无所谓了,删除也可以,不删除也不碍事··

④ 什么是CGI,什么是CGI脚本

CGI是Common Gateway Interface的缩写,是用于连接主页和应用程序的接口。众所周知,HTML语言的功能是比较贫乏的,难以完成诸如访问数据库等一类的操作,而实际的情况则是经常需要先对数据库进行操作(比如文件检索系统),然后把访问的结果动态地显示在主页上。诸如此类的需求只用HTML是无法做到的,所以CGI便应运而生。CGI是在WebServer端运行的一个可执行程序,由主页的一个热链接激活进行调用,并对该程序的返回结果进行处理,显示在主页上。简而言之,CGI就是为了扩展主页的功能而设立的。随后,诸如IDC、ASP、ISAPI、NSAPI等技术也发展起来了,它们的目的是相同的,只是编写起来更容易、功能更丰富。

⑤ 怎样在IIS中写Python的CGI脚本麻烦告诉我

1。安装好python;
2。配置IIS:
a.打开管理工具-〉Internet信息服务;
b.在网站属性上右键,进入属性设置;
c.转到主目录页,进入应用程序配置;
d.添加一个映射:可执行文件写:C:python23python.exe ”%s” %s
注意pythong的路径要指向你安装python的位置,同时注意参数间的空格。
扩展名写:.py
动作限制为:GET,HEAD,POST
e.选中脚本引擎,选中检查文件是否存在;
f.一路确定完成配置。
3。编写CGI脚本:
import CGI #倒入CGI模块
print 'Content-Type: text/html' #必须,输出HTML文档头
print # Blank line marking end of HTTP headers #必须,文档头必须以空行结束CGIParameters = CGI.FieldStorage() #取得Post或Get过来的参数集 # 检查看是否是我们需要的参数
if not (CGIParameters.has_key("name") and CGIParameters.has_key("address")):#如果不是输出form,要求填写name和address
print "<form action='' method='post' name='form'><input name='name' id='name'><input name='address' id='address'><input type='submit' value='submit'></form>"
print "Please fill in the name and address fields."
else: #如果是我们要求的参数,输出参数内容
print "<p>address:", CGIParameters["address"].value4。

⑥ CGI文件怎么打开啊这是什么类型的文件

cgi的如果说你是要看源文件的话用记事本就可以了。
如果说要看执行效果的话,需要借助perl解释程序和一个WEB服务(如IIS)。当然是需要配置的,让IIS支持认.cgi文件,并通过perl解释程序后返回结果。默认IIS是不支持perl的。在BAIDU里搜索一下IIS CGI就会有类似的文章教你配置IIS了。

什么是CGI
1. 定义:
CGI(Common Gateway Interface)是HTTP服务器与你的或其它机器
上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。

2. 功能:
绝大多数的CGI程序被用来解释处理杰自表单的输入信息,并在服
务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使
网页具有交互功能。

3. 运行环境:
CGI程序在UNIX操作系统上CERN或NCSA格式的服务器上运行。
在其它操作系统(如:windows NT及windows95等)的服务器上
也广泛地使用CGI程序,同时它也适用于各种类型机器。

4. CGI处理步骤:
⑴通过Internet把用户请求送到服务器。
⑵服务器接收用户请求并交给CGI程序处理。
⑶CGI程序把处理结果传送给服务器。
⑷服务器把结果送回到用户。

5. CGI服务器配置:
CGI程序不是放在服务器上就能顺利运行,如果要想使其在服务器
上顺利的运行并准确的处理用户的请求,则须对所使用的服务器进
行必要的设置。
配置:根据所使用的服务器类型以及它的设置把CGI程序放在某一
特定的目录中或使其带有特定的扩展名。
⑴CREN格式服务器的配置:
编辑CREN格式服务器的配置文件通常为/etc/httpd.conf/
在文件中加入:Exec cgi-bin/*/home/www/cgi-bin/*.exec
命令中出现的第一个参数cgi-bin/*指出了在URL中出现的目录
名字,并表示它出
现在系统主机后的第一个目录中,如:
http://edgar.stern.nyn.e/cgi-bin/
命令中的第二个参数表示CGI程序目录放在系统中的真实路径。
CGI目录除了可以点网络文件放在同一目录中,也可以放在系统
的其它目录中,但必须保证在你的系统中也具有同样的目录。在
对服务器完成设置后,须重新启动服务器(除非HTTP服务器是用
inetd启动的)。
⑵NCSA格式服务器的配置
在NCSA格式服务器上有两种方法进行设置:
①在srm.conf文件(通常在conf目录下)中加入:
Script Alias/cgi-bin/cgi-bin/
Script Alias命令指出某一目录下的文件是可执行程序,且这
个命令是用来执行
这些程序的;此命令的两个参数与CERN格式服务器中的Exec命
令的参数的含意一样。
②在srm.conf文件加入:
Add type application/x-httpd-cgi.cgi
此命令表示在服务器上增加了一种新的文件类型,其后第一个
参数为CGI程序的MIME类型,第二个参数是文件的扩展名,表
示以这一扩展名为扩展名的文件是CGI程序。
在用上述方法之一设置服务器后,都得重新启动服务器(除非
HTTP服务器是用inetd启动的)。

什么是IIS
首先,Internet Information Server的缩写为(IIS)是一个World Wide Web server。Gopher server和FTP server全部包容在里面。 IIS意味着你能发布网页,并且有ASP(Active Server Pages)、JAVA、VBscript产生页面,有着一些扩展功能。IIS支持一些有趣的东西,象有编辑环境的界面(FRONTPAGE)、有全文检索功能的(INDEX SERVER)、有多媒体功能的(NET SHOW)
其次,IIS是随Windows NT Server 4.0一起提供的文件和应用程序服务器,是在Windows NT Server上建立Internet服务器的基本组件。它与Windows NT Server完全集成,允许使用Windows NT Server内置的安全性以及NTFS文件系统建立强大灵活的Internet/Intranet站点。
1.IIS的安装
IIS可以在Windows NT安装时安装,也可以安装完Windows NT后用“控制面板”中的“添加/删除程序”安装,安装路径为光盘中的:i386\inetsrv\inetstp.exe。安装过程中要求添加相应的ODBC驱动程序。
2.IIS的管理
IIS通过ISM(Internet Service Manager)进行管理,ISM有两个版本,一个以普通应用程序的方式运行,一个在Web浏览器中运行,二者的差别在于后者不能启动和停止Internet服务。
ISM(应用程序方式)管理界面:在“查看”菜单中选择“查看报告”、“服务器查看”、“服务查看”可以得到三种视图:
报告视图 缺省的视图,按字母顺序依次显示所选择的计算机及其上安装的服务。通过该视图可以:连到服务器并显示其属性对话框;启动、停止或暂停服务;可选择显示哪些服务(FTP、WWW、GOPHER)。
服务器视图 显示网络上运行Internet服务的计算机名。打开该计算机可以看到正在运行的Internet服务。双击服务器名可以显示其属性对话框。
服务视图 列出所有的Internet服务。打开服务可以看到哪些计算机运行该服务。双击服务下的计算机名,可以打开该计算机上的服务属性对话框。
3.IIS安全性
IIS的安全性核心依赖于Windows NT Server内置的安全性,IIS自身也内置了安全性。包括加密、验证以及IIS扩展等。
(1)Windows NT Server安全性:Windows NT提供用户账户安全性、NTFS安全性。
①用户账户安全性:Windows NT要求用户提供有效账户以及口令才能访问Windows NT。IIS安装时创建Internet Guest 账户,缺省情况下,所有IIS用户都使用这个账户登录到服务器,这个账户只允许本地登录,没有其他权利。假如允许远程用户用登录Internet Guest 账户登录就不必给远程用户用户名及口令,Windows NT以Internet Guest 账户对待。
②NTFS文件安全性:NTFS提供安全性,可以控制对数据文件的访问,应当将数据文件放在NTFS分区。NTFS可以精确控制哪些用户和组以什么权限访问文件和目录。
(2)IIS的安全性:除了Windows NT的安全措施外,IIS本身也有安全控制能力。通过账户名及口令控制访问:可以配置WWW服务要求用户连入服务器之前提供一个合法的用户名及口令

⑦ cgi-bin目录和文件的权限怎么设置

1, 下载windows环境下的ActivePerl For Windows V5.8.8.820(http://www.skycn.com/soft/1211.html).

2, 解压缩,双击ActivePerl-5.8.8.820-MSWin32-x86-274739.msi安装.在此需要注意的是安装路径,Perl安装的缺省目录位置为C:\usr,当然,你可以安装在任意你喜欢的目录,我就装在(E:/webserver/perl/,为了便于管理)

3.配置Apache以支持CGI

打开httpd.conf修改:

ScriptAlias /cgi-bin/ "F:/project/perl/cgi-bin/"

<Directory "D:/project/perl/cgi-bin/">
AllowOverride All
Options All
Order allow,deny
Allow from all
</Directory>

AddHandler cgi-script .cgi .pl .exe

其中"F:/project/perl/cgi-bin/"是我打算存放*.pl脚本的目录,把目录的访问权限都设为All.(注意删除前面的#,如果有的话),

在此,apache支持perl/cgi的环境就配置完整了.

4.在F:project/perl/cgi-bin目录下创建一个hello.pl测试一下.

#!E:/webserver/perl/bin/perl.exe
#scriptname hello.pl

print "Content-type: text/html\n\n"; # 此句一定要写而且写准确.
print "Hello, World...\n";

注意:当您浏览cgi程序出现500错误的时候可以看一下您的程序,是不是以:#!E:/webserver/perl/bin/perl.exe开头。
或者没有print "Content-type: text/html;\n\n";

⑧ 怎样在IIS中写Python的CGI脚本

1。安装好Python;
2。配置IIS:
a.打开管理工具-〉Internet信息服务;
b.在网站属性上右键,进入属性设置;
c.转到主目录页,进入应用程序配置;
d.添加一个映射:可执行文件写:C:/Python23/Python.exe %s %s
注意Pythong的路径要指向你安装Python的位置,同时注意参数间的空格。
扩展名写:.py
动作限制为:GET,HEAD,POST
e.选中脚本引擎,选中检查文件是否存在;
f.一路确定完成配置。
3。编写CGI脚本:
import cgi #导入cgi模块
print 'Content-Type: text/html'#必须,输出HTML文档头
print # Blank line marking end of HTTP headers#必须,文档头必须以空行结束
cgiParameters = cgi.FieldStorage()#取得Post或Get过来的参数集
# 检查看是否是我们需要的参数
if not (cgiParameters.has_key(name) and cgiParameters.has_key(address)):#如果不是输出form,要求填写name和address
print <form action='' method='post' name='form'<input name='name' id='name'<input name='address' id='address'<input type='submit' value='submit'</form
print Please fill in the name and address fields.
else:#如果是我们要求的参数,输出参数内容
print <pname:, cgiParameters[name].value
4。

⑨ 什么叫CGI

1. 什么是CGI?
CGI(common gate intergace),通用网关接口,它是一段程序,运行在服务器上,提供同客户端HTML页面的接口,通俗的讲CGI就像是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器,再把服务器执行的结果返还给HTML页;用CGI可以实现处理表格,数据库查询,发送电子邮件等许多操作,最常见的CGI程序就是计数器。CGI使网页变得不是静态的,而是交互式的。

2. CGI能实现什么功能?
CGI可以提供很多HTML不能实现的功能,如:计数器,客户信息表格的提交以及统计;搜索程序;WEB数据库等。

4. 什么是独立的cgi-bin目录?
cgi-bin是一种特殊的目录,在进行交互式的WWW访问(如填写在线表格)时,需要服务器上有相应的程序对访问者输入的信息进行处理,这些程序就是CGI程序。CGI程序不能放在任意的目录下,只能放cgi-bin目录下。有的虚拟主机系统只提供一个公用的cgi-bin目录,放置一些常用的CGI程序供虚拟主机用户使用,这对用户不够方便,因为用户经常需要放置自己编制的CGI程序。为此,虎翼网为用户提供了独立的cgi-bin目录供用户使用。

5. 我的根目录在什么地方?
在/home/***目录下,其中***是您的用户名。

6. CGI程序应该放在什么地方?
放在/home/***/public_html/cgi-bin/目录下,其中***是您的用户名。

7. CGI程序的扩展名应该是什么?
应该是.cgi .pl或者.php .php3。

8. DATA程序在什么地方?
在/bin/date目录下。

9. CGI绝对路径和PERL,PHP解释器路径是什么?
CGI程序的绝对路径是:/home/***(您的用户名)/public_html/cgi-bin
PERL解释器的路径是:#!/usr/bin/perl
PHP解释器的路径是:#!/usr/bin/php
注意:如果CGI程序使用PERL或PHP编写,在上传时请用ASCII方式。

12. 为什么PERL程序有时可以运行,有时出现500 error?
在个人用户服务器中,PERL程序中的require语句要使用绝对路径。
例如:用户xxx的yyy.cgi中需要调用zzz.cgi,
假定zzz.cgi在public_html/cgi-bin/下,正确的做法是:
在yyy.cgi中:
将 require "zzz.cgi"; 改为:
require "/home/xxx/public_html/cgi-bin/zzz.cgi";

13. 为什么我运行CGI程序时出现“500 Internal Server error”的错误?
通常500错误是由于服务器不能识别程序运行时输出的内容类型而导致的,可能的原因有:
1. 请注意PHP、CGI程序的上传方式一定要用ASCII码方式。
2. 请检查CGI程序是否有语法、拼写的错误。
3. CGI程序必须首先输出文档类型。如:Content-Type: text/html\n\n

14. 为什么我运行CGI程序时总是显示“forbidden”?
CGI程序本身属性应为可执行,也就是属性为755。

15. 怎样设置CGI的权限?
您可以通过FTP软件中的chmod命令来修改自己目录的属性。也可以在MSDOS下使用命令行更改权限。
用户自己不需要设置CGI程序权限,系统会自动设置。如果您有需要保密的数据,请将它的权限设置为700。

热点内容
百度网盘上传错误 发布:2025-02-08 12:56:21 浏览:69
安卓手机怎么解除防抖系统 发布:2025-02-08 12:55:37 浏览:389
sql2008sql代理 发布:2025-02-08 12:55:34 浏览:50
vs编译找不到指定项目文件 发布:2025-02-08 12:36:54 浏览:243
怎样用windows服务器搭建网站 发布:2025-02-08 12:27:38 浏览:532
android获取音乐 发布:2025-02-08 12:26:05 浏览:962
存储的数据可以复制吗 发布:2025-02-08 12:20:22 浏览:852
scraino编程 发布:2025-02-08 11:59:41 浏览:266
我的世界服务器进不去该怎么办 发布:2025-02-08 11:47:41 浏览:236
linux的telnet 发布:2025-02-08 11:47:36 浏览:288