[英]How to run python script on my server?
我有一个由Blueshot托管的服务器。 我一直在使用php从iPhone获取发布变量......但是现在我必须使用python从iPhone获取post变量。 我写了这样的东西
import cgi
import cgitb; cgitb.enable() # for troubleshooting
print "Content-type: text/html"
print
print """
<html>
<head><title>Sample CGI Script</title></head>
<body>
<h3> Sample CGI Script </h3>
"""
form = cgi.FieldStorage()
message = form.getvalue("message", "(no message)")
print """
<p>Previous message: %s</p>
<p>form
<form method="post" action="index.cgi">
<p>message: <input type="text" name="message"/></p>
</form>
</body>
</html>
""" % message
并上传到我的服务器,但它不起作用...如果我导航到页面然后它只显示源代码..我不知道我的服务器上是否安装了python(我相信python可能已安装默认情况下)..如何检查python是否可以在我的服务器上运行,如果不能,我怎么能在我的服务器上运行python脚本? 我想做的就是从iPhone获取POST变量(我知道如何从iPhone发送变量)在此先感谢...
以下是CGI脚本不工作时需要检查的小清单:
cgi-bin
(或等效的)文件夹中吗? 这是一个可用于测试的示例CGI脚本:
#!/usr/bin/env python
import cgi; cgi.test()
将其命名为test.py
,将其放在cgi-bin
某个位置,并确保它是可执行的:
$ chmod a+rx test.py
某些Web服务器只识别具有某些扩展名的CGI脚本,因此如果.py
不起作用,您可能需要尝试.cgi
。
这是一个Web服务器配置问题,而不是编程问题。
如果您正在运行Apache,这可能会起作用:
chmod 755 myscript.py
ln -s myscript.py myscript.cgi
然后把它放在.htaccess文件中:
AddHandler cgi-script .cgi
如果由于没有shell访问权限而无法运行ln
命令,则只需使用.cgi扩展名上传即可。 或者,正如icktoofay所说,将它放在你的cgi-bin文件夹中,那么你也不需要.htaccess修改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.