2010-05-31 55 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 - 至少這確實表明過濾器是一個程序,它將給定的文件作爲其標準輸入(但並不來讀取它,文檔說...但該文件,即使被忽略,如在您的示例中代碼,必須是否存在 - 這可能是問題所在?),並提供內容(不是頭文件)以發送標準輸出。