![]() |
dwf - Web Framework für Delphi
Liste der Anhänge anzeigen (Anzahl: 4)
Einen eigenen lokalen HTTP Webserver in Delphi zu erstellen, ist mit dem dwf Web Framework für Delphi eine Sache weniger Zeilen Quelltext.
Delphi-Quellcode:
Und ein Beispiel für HTTP POST, mit einem Formular:
program ExampleWebServer;
... begin // Anwendungskontext festlegen (gilt für alle nachfolgenden Path Anweisungen) &Context('myapp'); // URL-Pfad unterhalb des Kontexts festlegen &Path('helloworld'); // Der Code für das Erzeugen einer Antwort auf eintreffende HTTP GET Anfagen GET (procedure(Request: TRequest; Response: TResponse) begin Response.ContentText := '<html><title>Hello world</title>Hello world!</html>'; end); // Server starten StartServer; // Ende WriteLn('Die Test-URL ist: http://127.0.0.1/myapp/helloworld'); ReadLn; end.
Delphi-Quellcode:
"Pfad-Parameter" können auch über Platzhalter definiert werden, und stehen im Handler dann als normale Requestparamter zur Verfügung:
program ExampleWebServer;
... begin // HTML FORM example -------------------------------------------------- &Path('form'); // The Delphi method will process HTTP GET requests ------------------- GET (procedure(Request: TRequest; Response: TResponse) begin Response.ContentText := '<html><form method="POST" action="form">' +'<input name="var" value="hello world"><input type="submit"></form></html>'; end); &Path('form'); // The Delphi method will process HTTP POST requests ------------------- POST (procedure(Request: TRequest; Response: TResponse) begin Response.ContentText := 'var=' + Request.Params.Values['var']; end); StartServer; // wait --------------------------------------------------------------- WriteLn('Server is running. Hit any key to terminate.'); ReadLn; end.
Delphi-Quellcode:
program ExampleWebServer;
... begin &Path('params/{p1}/{p2}'); &Produces('text/html'); GET (procedure(Request: TRequest; Response: TResponse) begin Response.ContentText := Format('<html><title>Hello world</title>Hello world! ... %s %s</html>', [Request.Params.Values['p1'], Request.Params.Values['p2']]); end); StartServer; WriteLn('Server is running. Hit any key to terminate.'); ReadLn; end. Last but not least - ein Beispiel mit HTTP Server Sessions:
Delphi-Quellcode:
Update:
program Example3Sessions;
... begin // The Delphi method will process HTTP GET requests ------------------- &Path('counter'); GET (procedure(Request: TRequest; Response: TResponse) var NextCounter: string; begin NextCounter := IntToStr(1 + StrToIntDef(Request.Session.Content.Values['Counter'], 0)); Request.Session.Content.Values['Counter'] := NextCounter; Response.ContentText := 'Counter: ' + NextCounter; end); StartServer; // wait --------------------------------------------------------------- WriteLn('Server is running. Hit any key to terminate.'); ReadLn; end. Das dwf Framework wurde inzwischen in die Habari Web Components Library (Version 1.0.1) integriert, in Form der TdjRestfulComponent. Ein englischsprachiger Blogartikel ist hier im Web: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz