如何在我的服务器上运行python脚本?

cod*_*ons 4 python

我有一个由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
Run Code Online (Sandbox Code Playgroud)

并上传到我的服务器,但它不起作用...如果我导航到页面然后它只显示源代码..我不知道我的服务器上是否安装了python(我相信python可能已安装默认情况下)..如何检查python是否可以在我的服务器上运行,如果不能,我怎样才能在我的服务器上运行python脚本?我想做的就是从iPhone获取POST变量(我知道如何从iPhone发送变量)在此先感谢...

ick*_*fay 10

以下是CGI脚本不工作时需要检查的小清单:

  • 它是在cgi-bin(或等效的)文件夹中吗?
  • 它可执行吗?
  • 它可读吗?
  • 它有一个hashbang吗?
  • 您的服务器是否设置为处理CGI脚本?

这是一个可用于测试的示例CGI脚本:

#!/usr/bin/env python
import cgi; cgi.test()
Run Code Online (Sandbox Code Playgroud)

test.py将其命名,放在某处cgi-bin,并确保它是可执行的:

$ chmod a+rx test.py
Run Code Online (Sandbox Code Playgroud)

某些Web服务器仅识别具有某些扩展名的CGI脚本,因此如果.py不起作用,您可能需要尝试.cgi.