Kay: Eigener Webserver in Delphi

Beitrag lesen

Hallo zusammen,

bin gerade dabei, einen simplen Webserver zu entwerfen. hab' dazu die
TServerSocket Kompo verwendet.
Mit dem IE rufe ich die Seiten auf. Folgende Daten erreichen den Server:

GET /formular.html HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: de
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)
Host: localhost
Connection: Keep-Alive

Das bedeutet doch, das der Klient (IE) die Datei formular.html aus dem Stammverzeichnis (welches das auch immer gerade ist) anfordert, oder?
Und nun lese ich also die gewünschte Datei von meiner Platte ein und schicke sie per SendStream an den Klient zurück ... bis hierher richtig?

Code:
ClientSocket.SendStream(TFileStream.Create(Datei, fmOpenRead or fmShareDenyWrite));

So, dann wird das Formular in der angeforderten Datei ausgefüllt und
abgeschickt. Den Webserver erreichen nun folgende Daten:

GET /test.php HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer: http://localhost/formular.html
Accept-Language: de
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)
Host: localhost
Content-Length: 27
Connection: Keep-Alive
Text1=Test&Button1=Absenden

Nun führe ich den PHP-Interpreter aus und lenke die Ausgabe in eine TEMP-Datei um. Die schicke ich dann wieder mit SendStream an den Klient. Gibt's noch eine bessere Variante?
Und wie erreiche ich es, dass die gesendeten Daten als Parameter an dem Skript hängen, wenn die URL im IE angezeigt wird?

Vielen Dank

Kay

0 40

Eigener Webserver in Delphi

Kay
  • sonstiges
  1. 0
    Philipp Hasenfratz
  2. 0
    Philipp Hasenfratz
    1. 0
      Kay
    2. 0
      Andreas Korthaus
      1. 0
        Philipp Hasenfratz
        1. 0

          OT: performanter Server für HTTP-Logging

          Andreas Korthaus
          • webserver
          1. 0
            Philipp Hasenfratz
            1. 0
              Andreas Korthaus
              1. 0
                Philipp Hasenfratz
              2. 0
                Michael Schröpl
            2. 0
              Sven Rautenberg
              1. 0
                Philipp Hasenfratz
                1. 0
                  Andreas Korthaus
                  1. 0
                    Philipp Hasenfratz
                    1. 0
                      Andreas Korthaus
                      1. 0
                        Andreas Korthaus
                        1. 0
                          Philipp Hasenfratz
                          1. 0
                            Andreas Korthaus
                            1. 0
                              Philipp Hasenfratz
                              1. 0
                                Andreas Korthaus
                                1. 0
                                  Philipp Hasenfratz
                              2. 0
                                Michael Schröpl
                                1. 0
                                  Andreas Korthaus
                            2. 0
                              Michael Schröpl
                        2. 0
                          Michael Schröpl
                          1. 0
                            Andreas Korthaus
                      2. 0
                        Philipp Hasenfratz
                        1. 0
                          Andreas Korthaus
                          1. 0
                            Philipp Hasenfratz
                            1. 0
                              Andreas Korthaus
                              1. 0
                                Philipp Hasenfratz
                                1. 0
                                  Andreas Korthaus
                                  1. 0
                                    Philipp Hasenfratz
                          2. 0
                            Michael Schröpl
                            1. 0
                              Andreas Korthaus
                              1. 0
                                Michael Schröpl
                  2. 0
                    Michael Schröpl
                    1. 0
                      Andreas Korthaus
                      1. 0
                        Michael Schröpl