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

如何在我的服务器上运行python脚本?,python,Python,我有一个由Blueshot托管的服务器。我一直在使用php从iPhone获取post变量。。。但现在我必须使用python从iPhone获取post变量。我写了这样的东西 import cgi import cgitb; cgitb.enable() # for troubleshooting print "Content-type: text/html" print print """ <html> <head><title>Sample CGI S

我有一个由Blueshot托管的服务器。我一直在使用php从iPhone获取post变量。。。但现在我必须使用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
导入cgi
进口cgib;cgib.enable()#用于故障排除
打印“内容类型:文本/html”
打印
打印“”
示例CGI脚本
示例CGI脚本
"""
form=cgi.FieldStorage()
message=form.getvalue(“消息”,“无消息”)
打印“”
以前的消息:%s

形式 信息:

“”消息

并上传到我的服务器,但它不工作…如果我导航到该页面,它只显示源代码。。我不知道我的服务器上是否安装了python(我相信python可能是默认安装的)…我如何检查python是否可以在我的服务器上运行,如果不能,我如何在我的服务器上运行python脚本?我想做的就是从iPhone获取POST变量(我知道如何从iPhone发送变量),提前感谢…

这是一个Web服务器配置问题,而不是编程问题

如果您正在运行Apache,这可能会起作用:


chmod 755 myscript.py
ln -s myscript.py myscript.cgi
然后将其放入.htaccess文件中:


AddHandler cgi-script .cgi

如果由于没有shell访问权限而无法运行
ln
命令,请首先使用.cgi扩展名上载。或者,正如icktoofay所说,将其放入您的cgi bin文件夹中,那么您也不需要修改.htaccess。

这里有一个小清单,列出了cgi脚本无法工作时需要检查的事项:

  • 它是否位于
    cgi-bin
    (或同等)文件夹中
  • 它是可执行的吗
  • 它可读吗
  • 它有哈什邦吗
  • 您的服务器是否设置为处理CGI脚本
下面是一个示例CGI脚本,可用于测试:

#!/usr/bin/env python
import cgi; cgi.test()
将其命名为
test.py
,将其放在
cgi-bin
中的某个位置,并确保其可执行:

$ chmod a+rx test.py

一些web服务器只识别带有特定扩展名的CGI脚本,因此如果
.py
不起作用,您可能想尝试
.CGI

然后如何更改配置?@icktoofay:我知道,我在键入,我很慢:^\hashbang很重要,+1。我总是用它,但不是每个人都用