WN服务器筛选器不起作用

时间:2010-05-31 22:39:21

标签: python

WN服务器可以替代称为过滤器的cgi程序。我一直试图让一个人上班,但我没有运气。我正在写python。看起来服务器没有从程序接收任何输出,但是没有解析任何内容并且在我的标准页眉和页脚中没有包装它。我有chmod 755程序,我的index.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中看到过滤程序。我不确定我是否已经看过一个过滤程序。有没有人有wn服务器和过滤器的经验?有任何想法吗?

1 个答案:

答案 0 :(得分:0)

我没有现实世界的WN体验,但我已经阅读了docs并且在我看来你的代码有问题 - 引用,

  

不应提供标题   作为WN的程序将自动执行   提供他们。例如,一个   CGI / 1.1程序通常以   打印“Content-type:text / html”   接下来是一个空行,这应该   没有为“someprogram”做的   上面的index.wn条目,因为WN会   自动提供相应的   HTTP / 1.1标头基于   “Content-type = text / html”行中的   index.wn文件。

虽然您似乎在代码中提供了标题。其次,您确定要parsing,正如您所要求的那样?

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

顺便说一下,既然你说

  

我不确定我是否见过过滤器   所有程序

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