SSI mit dem Python-html-Server

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Nikolas
User
Beiträge: 102
Registriert: Dienstag 25. Dezember 2007, 22:53
Wohnort: Freiburg im Breisgau

SSI mit dem Python-html-Server

Beitragvon Nikolas » Samstag 15. März 2008, 19:06

Hallo

Aus Mangel an Alternativen arbeite ich mit dem html-Server, der schon direkt mit Python mitgeliefert wird:

Code: Alles auswählen

from BaseHTTPServer import HTTPServer
from CGIHTTPServer import CGIHTTPRequestHandler

serveradresse =("", 8080)
server = HTTPServer(serveradresse, CGIHTTPRequestHandler)
server.serve_forever()

Normale Seite sowie CGI-skripts, die ich über Formulare aufrufe, werden wie erwartet dargestellt.
Jetzt würde ich aber gerne mit Server Side Includes wie

Code: Alles auswählen

<!--#exec cgi="/cgi-bin/printComments.py" -->

oder

Code: Alles auswählen

<!--#echo var="DATE_LOCAL" -->

arbeiten, um dynamisch eine Tabelle innerhalb einer normalten (s)html-Seite anzeigen zu lassen.
Nur leider werden diese Zeilen komplett ignoriert.

Benutzt sonst noch jemand diesen Server und hat mit SSI gearbeitet?

Nikolas
Erwarte das Beste und sei auf das Schlimmste vorbereitet.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Beitragvon sma » Sonntag 16. März 2008, 10:14

Nikolas, was lässt dich denken, dass der `CGIHTTPRequestHandler` Server Side Includes beherrscht? Er tut es nicht. Vielleicht hilft dir ja diese Erweiterung.

Ansonsten müsstest du dir selbst eine Implementierung bauen (oder irgendwo her bekommen). Du könntest dir dazu den `SimpleHTTPRequestHandler` aus `SimpleHTTPServer.py` anschauen. Statt einfach in `copyfile` die Datei zu kopieren, müsstest du da bei text/html-Dateien nach den speziellen Kommentaren suchen und diese verarbeiten.

Stefan
Nikolas
User
Beiträge: 102
Registriert: Dienstag 25. Dezember 2007, 22:53
Wohnort: Freiburg im Breisgau

Beitragvon Nikolas » Sonntag 16. März 2008, 10:34

Warum sollte er es denn nicht können? Ich habe bis vor ein paar Wochen nicht mit Servern gearbeitet und habe keine Ahnung, ob SSI etwas besonderes oder eine Grundfunktion von Servern ist.
Den anderen Server habe ich gestern auch gefunden. (mit einem Suchbegriff, bei dem dieser Thread auf Platz1 war, und der Server auf Position 2 :) )
Leider kann dieser Server nur ein paar SSI Befehle verstehen (include und echo), das für mich interessante exec wird leider nicht unterstützt.
Aber Danke für den Link, den hab ich gestern erst nach vielen Fehlversuchen gefunden.

Mir was eigenes zu bauen, ist mir zur Zeit zu groß, da ich eigentlich in der Klausurvorbereitung bin und mir die CGI-Programmierung als kleine Entspannung für nebenbei beibringe. Deswegen kann ich zurzeit auch keinen lokalen ApacheServer installieren und konfigurieren.
Erwarte das Beste und sei auf das Schlimmste vorbereitet.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Sonntag 16. März 2008, 10:43

Nikolas hat geschrieben:Deswegen kann ich zurzeit auch keinen lokalen ApacheServer installieren und konfigurieren.

Hallo Nikolas!

Ich verstehe deine Aussage nicht. Gerade dann, wenn ich keine Zeit habe, dann nehme ich fertige Produkte. http://halvar.at/python/xampp_python_cgi/

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Nikolas
User
Beiträge: 102
Registriert: Dienstag 25. Dezember 2007, 22:53
Wohnort: Freiburg im Breisgau

Beitragvon Nikolas » Sonntag 16. März 2008, 11:17

Das sieht ziemlich stark aus :lol:

Also einfach nur runterladen, 5mal Okay klicken und das Teil läuft?
Gestern habe ich sicher eine Stunde nach passenden Servern gegoogelt, nur leider bin ich nicht über diese Seite gestolpert.
Ich müsste mich an die MacOs Beta Version wagen, mal schauen, ob das funktioniert.

Danke für den Hinweis
Erwarte das Beste und sei auf das Schlimmste vorbereitet.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Beitragvon sma » Donnerstag 20. März 2008, 09:45

Nikolas hat geschrieben:Ich müsste mich an die MacOs Beta Version wagen

OS/X Leopard hat Apache httpd vorinstalliert. In den Systemeinstellungen unter "Sharing" aktivieren, dann unter `/Users/Nikolas/Sites` deine Dateien ablegen. Ich vermute, du musst dann noch eine passende `.htaccess`-Datei anlegen, ich musste mir unter `/etc/apache2/users/sma.conf` erstmal das Recht dazu geben.

Stefan
Nikolas
User
Beiträge: 102
Registriert: Dienstag 25. Dezember 2007, 22:53
Wohnort: Freiburg im Breisgau

Beitragvon Nikolas » Freitag 21. März 2008, 21:20

Den Server habe ich letztens gefunden. Mein Problem besteht darin, dass ich eine Seite an der angegebenen Stelle gespeichert habe, aber einen Zugrifssfehler bekommen, wenn ich die Seite unter http://platon.local/~nikolas/index.html (Platon habe ich meinen Mac genannt). Wenn ich stattdessen auf ~nikolasAdmin zugreife (mein zweitAccount), bekomme ich die dort abgelegte Seite ohne Probleme.
Meine eigene index.html habe ich als 777 deklariert, wahrscheinlich müsste ich auch so eine Zugriffsdatei schreiben.

Wie hast du das genau gemacht?
Erwarte das Beste und sei auf das Schlimmste vorbereitet.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Beitragvon sma » Samstag 22. März 2008, 10:47

Hast du von Tiger auf Leopard aktualisiert? Dann kopiere `/etc/httpd/users/*.conf` nach `/etc/apache2/`users. Das vergisst der Updater irgendwie. Danach funktioniert ~user. Irgendwelche Zugriffsrechte auf 777 setzen brauchst du nicht. In der conf-Datei musst du dir noch selbst CGI erlauben, ich habe mir "AllowOverride" auf "All" gesetzt, um dann in einer `.htaccess`-Datei Options +ExecCGI zu setzen. Da gibt es aber vielleicht bessere Lösungen. Apache httpd ist nicht so mein Ding.

Stefan
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Beitragvon Darii » Samstag 22. März 2008, 11:40

Nikolas hat geschrieben:Ich müsste mich an die MacOs Beta Version wagen, mal schauen, ob das funktioniert.
Unter OSX kannst du auch einfach MAMP nehmen. Ich habs nicht getestet, aber die Konfiguration für Python sollte wie beim xampp laufen.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder