program HelloWorldWebServerX; //{$APPTYPE CONSOLE} //#sign:Max: MAXBOX10: 05/02/2017 19:04:12 //uses SysUtils, IdContext, IdCustomHTTPServer, IdHTTPServer; //type TWebServer = class var FHTTPSrv: TIdHTTPServer; //@public procedure HTTPServerCommandGet(AContext: TIdPeerThread; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo); forward; procedure TWebServerCreate; begin FHTTPSrv:= TIdHTTPServer.Create(Nil); //FHTTPSrv.DefaultPort:= 8080; with FHTTPSrv.Bindings.Add do begin IP:= '127.0.0.1'; Port:= 8080; end; FHTTPSrv.OnCommandGet:= @HTTPServerCommandGet; FHTTPSrv.Active:= True; end; procedure TWebServerDestroy; begin FHTTPSrv.Active:= False; FHTTPSrv.Free; //inherited Destroy; end; procedure HTTPServerCommandGet(AContext: TIdPeerThread; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo); begin AResponseInfo.ResponseNo:= 200; AResponseInfo.ContentType:= 'text/plain'; AResponseInfo.ContentText:= 'Hello & Goodbye, maXbox World4!'; end; begin //@main TWebServerCreate; try Writeln('Hello world/Web server will start.. '); ShowMessageBig('maXbox Hello world/Web server'+#1310+ ' Press OK to quit webserver.'+#13); //Readln(); finally TWebServerDestroy; end; End. ref: https://rosettacode.org/wiki/Hello_world/Web_server#Delphi add bindings & contenttype for more convention Doc: HTTPServer1.Bindings.Add.IP := '127.0.0.1'; HTTPServer1.Bindings.Add.Port := 50001; This is a common newbie mistake. You are creating two bindings, one bound to 127.0.0.1:DefaultPort, and one bound to 0.0.0.0:50001. You need one binding instead, that is bound to 127.0.0.1:50001 instead. with HTTPServer1.Bindings.Add do begin IP := '127.0.0.1'; Port := 50001; end; call example: procedure TDataFormbtnHTTPSendGetClick(Sender: TObject); var HTTPClient : TIdHTTP; responseStream : TMemoryStream; begin HTTPClient := TIdHTTP.Create(Nil); responseStream := TMemoryStream.Create; try try HTTPClient.Get1('http://127.0.0.1:8080', responseStream); responseStream.Seek(0, soFromBeginning); SetLength(Sr, responseStream.Size); responseStream.Read(Sr, responseStream.Size); writeln('response: '+sr) //writeln(': '+streamtoString3(responseStream)) except //on e : Exception do begin showmessage('Could not send get request to localhost, port 8080'); end; //end; finally //FreeAndNil(HTTPClient); HTTPClient.Free; HTTPClient:= Nil; responseStream.Free; end; end; ----code_cleared_checked_clean----