繁体   English   中英

如何在 Linux 下执行 python cgi-script

[英]How to execute a python cgi-script under Linux

我有一个 python cgi 脚本,它在 Windows 机器上执行良好,只需在控制台中启动 CGIHTTPServer,打开 html 页面以将数据传递给脚本并提交数据。
我现在需要在 Linux 下执行此操作,但事实证明这更加困难。 一些 web 搜索已经给出了这个脚本来启动服务器(我已经输入了 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 一切都在眼前,看起来服务器并没有自动理解我希望它执行脚本。 我该如何做到这一点? 谢谢。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM