2011-08-20 25 views
11

Necesito un ejemplo de código simple para Indy 10 Http Server Cuando la solicitud (publicación) simplemente lo muestra ¿Hay una muestra de Indy 9 para esto? GraciasIndy 10 Http Server muestra

+5

¿Qué es eso? Indy 10 o Indy 9? –

+0

Puede buscarlo en fuentes ExtPascal – TheHorse

Respuesta

6

El Indy 9 samples todavía están disponibles en el sitio IndyProject e incluyen un proyecto de demostración HTTPServer. El Indy 10 Demo Playground también lo hace.

En IdHTTPServer, los comandos Obtener y Publicar se tratan esencialmente de la misma manera y se manejan en el evento CommandGet.

14
  1. iniciar una nueva formularios VCL proyectar
  2. gota un componente TidHTTPServer en el Formulario
  3. doble clic en el formulario para crear una OnCreate) evento (y activar el servidor

    IdHTTPServer1. Activo: = verdadero;

  4. Volver en el formulario, seleccione el componente servidor HTTP, y crear un evento OnCommandGet

En este OnCommandGet evento (que se llama dentro de un hilo hijo siempre que se produce un GET/POST), manejar la petición, poblando la respuesta ..

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

Dependiendo de la versión de Delphi, es posible que también tenga que añadir IdC CONTEXTO a su Usos cláusula

Ejecutar la aplicación de demostración y luego lanzar un navegador para http://localhost y usted debe obtener una respuesta. (A menos que tenga algo más escuchando en el puerto 80 en cuyo caso su aplicación de demostración generará una excepción)