2011-08-20 9 views
11

Ho bisogno di un semplice esempio di codice per Server Http Indy 10 Quando la richiesta (post) lo mostra semplicemente Esiste un campione Indy 9 per questo? GrazieIndy 10 Esempio di server Http

+5

quindi che cos'è? Indy 10 o Indy 9? –

+0

Puoi guardarlo alle fonti ExtPascal – TheHorse

risposta

6

Gli Indy 9 samples sono ancora disponibili sul sito IndyProject e includono un progetto dimostrativo HTTPServer. Lo Indy 10 Demo Playground fa pure.

In IdHTTPServer, i comandi Get e Post vengono essenzialmente trattati allo stesso modo e gestiti nell'evento CommandGet.

14
  1. iniziare una nuova versione di Moduli VCL proiettare
  2. goccia un componente TidHTTPServer sul Modulo
  3. Fare doppio clic sul form per creare un OnCreate() evento e attivare il server

    IdHTTPServer1. Attivo: = Vero;

  4. Torna sul modulo, selezionare il componente HTTP Server e creare un evento

OnCommandGet In questo OnCommandGet evento (che si chiama all'interno di un thread figlio ogni volta che si verifica un GET/POST), gestire la richiesta, popolando la risposta ..

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>'; 

a seconda della versione di Delphi, si può anche essere necessario aggiungere IdC ONTESTO al tuo Utilizza clausola

Eseguire il demo app e poi lanciare un browser per http://localhost e si dovrebbe ottenere una risposta. (A meno che tu non abbia qualcos'altro da ascoltare su Port 80, nel qual caso la tua app demo genererà un'eccezione)