2010-05-31 30 views
0

WN服务器有一个替代cgi程序称为过滤器。我一直在努力让一个人工作,但我没有运气。我正在写python。它看起来像服务器没有收到任何程序的输出,但没有解析任何东西,并且在我的标准页眉和页脚中没有包含任何内容。我已经搭配chmod 755计划和我的index.wn文件读取:WN服务器过滤器将无法工作

Default-Attributes=parse
Default-Wrappers=templates/template1.inc

File=includeTests.html
File=index.html
File=archives.html
File=contact.html

File=style.css

File=testProgram.py

#here is the stuff about the filter
File=testFilter.html
Content-type=text/html
Filter=testProgram.py
Attributes=parse, cgi

这里是什么,是在一个名为testProgram.py过滤器:


#!/usr/bin/python

print "Content-Type: text/html\n\n"
print "

hi

"

testProgram.py完美的作品,如果它是推入一个cgi-bin文件夹,并chmoded。我想我的问题可能在于我从来没有见过Python中的过滤器程序。我不确定我甚至看到过滤程序。有没有人有任何关于服务器和过滤器的经验?有任何想法吗?

回答

0

我没有现实世界的WN的经验,但我读过它docs并且在我看来,有什么东西你的代码错误 - 报价,

没有标题应该由 程序提供因为WN会自动提供 。例如,一个 CGI/1.1程序通常以打印“Content-type:text/html” 后跟一个空行开始, 不应该为 index.wn条目中的“someprogram”完成,因为WN将 根据 index.wn文件中的 “Content-type = text/html”行自动提供适当的 HTTP/1.1标头。

虽然您确实似乎在您的代码中提供了标头。其次,你确定你想要parsing,因为你正在请求?

我不明白为什么这些问题中的任何一个都应该“吞噬”你的程序的输出,所以这不是一个完整的答案......但也许这可能是一个开始。

顺便说一句,既然你说

我不知道我曾经甚至根本

过滤我的文档看到的一个例子中看到一个过滤器 程序zcat - 至少这确实表明过滤器是一个程序,它将给定的文件作为其标准输入(但并不来读取它,文档说...但该文件,即使被忽略,如在您的示例中代码,必须是否存在 - 这可能是问题所在?),并提供内容(不是头文件)以发送标准输出。