Python CGI 脚本错误:头文件前的脚本输出结束
Posted
技术标签:
【中文标题】Python CGI 脚本错误:头文件前的脚本输出结束【英文标题】:Python CGI Script Error: End of script output before headers 【发布时间】: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")
,而不是额外的打印语句。谢谢!
【问题讨论】:
【参考方案1】:我知道这是一篇旧帖子,但我在您的脚本中发现了错误
我发现的第一个错误是你在需要 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()
【讨论】:
以上是关于Python CGI 脚本错误:头文件前的脚本输出结束的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 cgi python 脚本在浏览器中显示 pdf 文件内容及其全名?