【问题标题】:Python CGI Script Error: End of script output before headersPython CGI 脚本错误:头文件前的脚本输出结束
【发布时间】:2015-04-04 19:11:38
【问题描述】:

我收到内部服务器错误(500 错误)“头文件前脚本输出结束”尝试使用

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

我的脚本如下

#!"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"),而不是额外的打印语句。谢谢!

【问题讨论】:

    标签: python windows apache xampp


    【解决方案1】:

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


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


    我发现的第二个错误是你使用的附加栏
    There are 3 bars here-&gt;___name___&lt;-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()
    

    【讨论】:

      猜你喜欢
      • 2018-05-30
      • 1970-01-01
      • 2014-06-03
      • 2021-12-13
      • 2021-07-14
      • 2012-06-09
      • 1970-01-01
      • 2013-07-10
      • 1970-01-01
      相关资源
      最近更新 更多