Python CGI脚本错误:标题之前的脚本输出结束

时间:2015-02-05 02:48:01

标签: python windows apache xampp

我收到内部服务器错误(500错误)“标题之前的脚本输出结束”尝试使用

运行cgi
  • Windows上的XAMPP Apache
  • Python 3.3
  • 带有UNIX样式的记事本++(\ n)换行符字符

我的脚本如下所示

#!"C:\Python33\python.exe"

import cgi

def htmlTop():
    print("Content-type: text/html")
    print()
    print("""<!DOCTYPE html>
            <html lang="en">
                <head>
                        <meta charset="utf-8"/>
                        <title>My Server Side Test</title>
                </head>
                <body>""")

def htmlTail():
    print("""</body>
        </html>""")

if ___name___ == "__main__":
    try:
        htmlTop()
        print("Hello World")
        htmlTail()
    except:
        cgi.print_exception()

请注意我尝试使用print("Content-type: text/html\n\n")而不是额外的打印声明。谢谢!

1 个答案:

答案 0 :(得分:0)

我知道这是一篇旧帖子,但我在你的剧本中发现了错误


我发现的第一个错误是你在使用python时使用的引用,所以 #!"C:\Python33\python.exe"应更改为#!C:\Python33\python.exe


我发现的第二个错误是您使用的额外栏杆There are 3 bars here->___name___<-and here左右 ___name___应更改为__name__

所以最终的代码应该是

#!C:\Python33\python.exe

import cgi

def htmlTop():
    print("Content-type: text/html")
    print()
    print("""<!DOCTYPE html>
        <html lang="en">
            <head>
                    <meta charset="utf-8"/>
                    <title>My Server Side Test</title>
            </head>
            <body>""")

def htmlTail():
    print("""</body>
    </html>""")

if __name__ == "__main__":
    try:
        htmlTop()
        print("Hello World")
        htmlTail()
    except:
        cgi.print_exception()