2010-05-31 1 views
0

У серверов WN есть альтернатива программам cgi, называемым фильтрами. Я пытался заставить его работать, но мне не повезло. Я пишу на питоне. Похоже, что сервер не получает никакого вывода из программы, но ничего не разбирает и не переносит ничего в моем стандартном верхнем и нижнем колонтитулах. Я 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. Я не уверен, что даже видел программу фильтрации. Кто-нибудь есть опыт работы с серверами и фильтрами wn? Есть идеи?

ответ

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, как вы просите?

Я не понимаю, почему любой из этих вопросов должен просто «проглотить» выход вашей программы, хотя это вряд ли полный ответ ... но, возможно, это может быть начало.

BTW, так как вы говорите,

Я не уверен, что я даже видел программу фильтр на всех

на одном примере фильтра я вижу в Документах zcat - по крайней мере, это делает очевидным, что фильтр - это программа, которая принимает данный файл в качестве стандартного ввода (но не имеет, чтобы прочитать его, говорят документы ... но этот файл, даже если он игнорируется, как в вашем примере код, must существует - может быть, это проблема ...?) И дает содержимое (а не заголовки) для отправки на стандартный вывод.