![](/img/trans.png)
[英]Post to another python cgi-script from the current 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.