如何执行Python CGI脚本?

如何执行Python CGI脚本?,python,cgi,Python,Cgi,我想在.shtml 文件,但我就是不知道怎么做。我已经找到了好几种方法,但似乎都不管用。在那里,很难找到真正展示如何执行脚本而不是如何编写脚本的东西/ 我的Html: 还有我的剧本: 我对CGI和任何Webstuff都很陌生,但我现在已经用Python编程半年多了 PS:很抱歉代码格式混乱,我现在将NIT上传到pastebin:S //编辑: 好的,现在再补充一些信息,因为它仍然不起作用 从heliohost.org,我被引导到可以找到python解释器路径的地方 这是我的文件夹结构: -公

我想在
.shtml
文件,但我就是不知道怎么做。我已经找到了好几种方法,但似乎都不管用。在那里,很难找到真正展示如何执行脚本而不是如何编写脚本的东西/

我的Html:

还有我的剧本:

我对CGI和任何Webstuff都很陌生,但我现在已经用Python编程半年多了

PS:很抱歉代码格式混乱,我现在将NIT上传到pastebin:S

//编辑: 好的,现在再补充一些信息,因为它仍然不起作用

从heliohost.org,我被引导到可以找到python解释器路径的地方

这是我的文件夹结构:
-公共网页 -.htaccess -main.py -index.shtml

.htaccess的内容:

Options +ExecCGI
AddHandler cgi-script .py
main.py的内容:

#! /usr/local/bin/python
print "Content-Type: text/html"
print

print "Hello World!"
index.shtml的内容:

现在,点击链接,出现“500 InternalServerError”,我不明白为什么(

服务器错误日志只是说:

[Wed Jun 15 14:41:26 2011] [error] [client 84.151.252.129] File does not exist: /home/nux95/public_html/500.shtml, referer: http: niklasrosenstein.heliohost.org/

这是我刚才写的东西

有一些让Python在CGI中工作的技巧。

  • 始终通过Apache浏览页面。 请注意,通过浏览器查看文件系统中的文件适用于html页面上的大多数内容,但不适用于CGI。要使脚本正常工作,必须通过htdocs文件系统打开它们。浏览器的地址行应如下所示:

    \\127.0.0.1\index.html or
    \\localhost\index.html
    
    如果通过文件系统打开文件,CGI将不起作用。例如,如果CGI位于浏览器的位置栏中:

    c:\Apache\htdocs\index.html (or some other example location)
    
  • 将脚本行尾转换为Unix格式: 大多数编辑器都有“显示行尾”选项,然后有一个从Unix格式转换为PC格式的工具。必须将行尾设置为Unix格式

  • 在CGI脚本的第一行说明Python解释器的路径: Python CGI脚本的第一行必须包含以下行之一:

    #!C:\Python25\Python.exe
    #!/usr/bin/python
    
    在PC上调试时使用顶行,底行用于服务器,如1和1。我保留显示的行,然后在服务器上运行后通过删除第一行对其进行编辑

  • 在打印任何其他输出之前,打印指定HTML的内容类型: 只需在脚本的早期添加以下行即可:

    print "Content-Type: text/html\n\n"
    
    请注意,需要两条线的末端

  • 设置Python脚本以提供调试信息: 导入以下内容以获取详细的调试信息

    import cgitb; cgitb.enable()
    
    如果cgitb不可用,另一种选择是执行以下操作:

    import sys
    sys.stderr = sys.stdout
    
  • 在服务器上,必须将python脚本权限设置为执行。 上传文件后,请确保编辑第一行并设置要执行的文件的权限

  • 检查是否可以直接点击python脚本。如果不能,请按照上述步骤(2-6)进行修复。然后,当python脚本工作时,调试shtml。

    使用

    print("hello world")
    
    反而

    print "hello world"
    

    或者你会遇到python 3的问题。+版本我正在使用一个免费的webhoster。我确定它支持python,嗯,它说它支持python,但我不是很确定,哈哈。谢谢你的快速回复。PS:我在移动设备上,请原谅我的拼写问题。^^^你在浏览器输出中看到SSI标记吗?SSI标记?从未听说过。^^W这是我应该看的吗?不幸的是我已经不在电脑前了:-/谢谢你的回答,虽然有点晚了。:)+1,勾选