为什么python CGI脚本会在附加变量后将网页显示为纯文本?

为什么python CGI脚本会在附加变量后将网页显示为纯文本?,python,apache,Python,Apache,最近,我的一些cgi脚本在添加了更多变量后出现了一些问题。特别是,我目前正在重新制作一个页面,以适应正在打印的6个变量。从本质上讲,这是导致问题的设置: import cgi a=''' <head> </head> <body> some text''' b=some scripts c="<br>" # or the likewise to separate things out a bit d=more scripts e

最近,我的一些cgi脚本在添加了更多变量后出现了一些问题。特别是,我目前正在重新制作一个页面,以适应正在打印的6个变量。从本质上讲,这是导致问题的设置:

import cgi

a='''
<head>
</head>
<body>
some text'''
b=some scripts
c="<br>"          # or the likewise to separate things out a bit
d=more scripts
e="<p>"           # ^ again, this is an example, but running even this fails out for me
f='''
</body>
</html>'''
print a
print b
print c
print d
print e
print f
导入cgi
a='''
某些文本“”'
b=一些脚本
c=“
”#或类似地将事物分开一点 d=更多脚本 e=“”#^同样,这是一个示例,但运行此命令对我来说也失败了 f=''' ''' 打印 打印b 打印c 打印d 打印e 打印f
这只是一个例子,但是的,这似乎不起作用,我很好奇这是一个限制,还是一个更合适的设置方式。关于更多信息,我想我要提到的是,它运行在带有Apache2.2.15的cent6系统上

PS:是的,我知道它们都是指定的对象,我可以把它们打印在一起

谢谢
-Jeff

您必须指定页面的内容类型

引述:

CGI脚本的输出应该由两个部分组成,由一个空行分隔。第一部分包含许多标题,告诉客户机下面是什么类型的数据。生成最小标头部分的Python代码如下所示:


doctype和有效的标记是否有效?您在httpd.conf中的cgi配置如何?对于httpd.conf,我使用的目录是:“Options+ExecCGI”和“AddHandler cgi script.py”。那么现在就进行doctype检查。secyeah,由于doctype试图在常规html页面中声明,它仍然从curl-Ik中显示,并显示为txt:HTTP/1.1200 OK Date:Sun,2013年3月31日08:21:05 GMT服务器:Apache/2.2.15连接:关闭内容类型:text/plain这很有趣,因为如果我删除了2个或3个变量,并且其中任何一个变量似乎都会减少到5个打印的变量,那么它似乎会返回到网页:(欢迎来到Stack Overflow!当我第一次读到这篇文章时,我以为你的意思是将html的内容类型部分而不是真正的标题放入其中。我以前曾使用过这种类型的东西来伪造Cookie,但从未想过这会破坏我的脚本。奇怪的是,它会阻止我在一定数量之后才使用我的脚本当然是变数,哈哈哈。
    print "Content-Type: text/html"     # HTML is following
    print                               # blank line, end of headers