如何在Linux下执行python cgi-script

时间:2011-05-02 13:20:04

标签: python linux cgi

我有一个python cgi脚本,可以在Windows机器上执行,只需在控制台中启动CGIHTTPServer,打开html页面将数据传递给脚本并提交数据。
我现在需要在Linux下这样做,但事实证明这更难。一些网络搜索已经给这个脚本启动服务器(我已经放入8000,因为原来的80没有用)

 import os  
 import BaseHTTPServer, CGIHTTPServer  
 serverAddr = ("", 8000)  
 os.chdir("/home/apannife/www")  
 serv = BaseHTTPServer.HTTPServer( \  
     serverAddr, CGIHTTPServer.CGIHTTPRequestHandler)  
 serv.serve_forever()  

html。

<HTML><HEAD><TITLE>

Test

</TITLE>

</HEAD>

<BODY>

<B>  Filename </B>

<FORM METHOD=post ACTION="cgi-bin/docking_cgi.py" ENCTYPE="multipart/form-data">

<INPUT Type="file" NAME="upfile" SIZE=45><BR>

<P><INPUT TYPE=submit></FORM>



</BODY></HTML>

和cgi的第一部分。

#!/usr/bin/env python

import cgi

from cgi import FieldStorage


reshtml = '''Content-Type: text/html\n

<HTML><HEAD><TITLE>

DEMO

</TITLE></HEAD>

<BODY><H3> OUTPUT SENT TO %s %s </H3>

</BODY></HTML>'''
form = cgi.FieldStorage()

upfile = form['upfile']

但是,提交数据只会返回cgi脚本的文本而不会运行它。我chmod-ded 775看到的一切,看起来服务器没有自动理解我希望它执行脚本。我怎么做到这一点? 感谢。

1 个答案:

答案 0 :(得分:0)

服务器仅在相对于服务器根目录的/cgi-bin/htbin目录下执行脚本。与Windows相比,这些名称在Linux上区分大小写。