Indy 10 Http Server sample

SridharanS picture SridharanS · Aug 20, 2011 · Viewed 30.3k times · Source

I need a simple code sample for Indy 10 Http Server When request (post) simply displays it Is there an Indy 9 sample for this? Thanks

Answer

Darian Miller picture Darian Miller · Aug 26, 2011
  1. Start a new VCL Forms project
  2. Drop a TidHTTPServer component onto the Form
  3. Double-click the form to create an OnCreate() event and activate the server

    IdHTTPServer1.Active := True;

  4. Back on the form, select the HTTP Server component, and create an OnCommandGet event

In this OnCommandGet event (which is called within a child thread whenever a GET/POST occurs), handle the request, by populating the response..

AResponseInfo.ContentText := '<html><head><title>My First Response</title></head>' + 
  '<body>Command: ' + ARequestInfo.Command +
  '<br />Host: ' + ARequestInfo.Host +
  '<br />URI: ' + ARequestInfo.URI +
  '<br />UserAgent: ' + ARequestInfo.UserAgent +
  '</body></html>';

Depending on your Delphi version, you may also have to add IdContext to your Uses clause

Run your demo app and then launch a browser to http://localhost and you should get a response. (Unless you have something else listening on Port 80 in which case your demo app will generate an exception)