Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   http server con con Tidhttpserver (https://www.clubdelphi.com/foros/showthread.php?t=33655)

coletaun 13-07-2006 10:50:51

http server con con Tidhttpserver
 
Hola:

Estoy montando un sencillo servidor http con el componente Tidhttpserver de las indy. Mi pregunta es la siguiente:

Si alguien me manda unos parámetros de la forma:
http://urlservidor:8080/telefono=123...&nombre=pepito

Como recogeria los datos por parámetros en el server, es decir que me identifique el campo telefono y extraiga 123456789 y pepito como nombre por separado y los inserte en una base de datos en su campo correspondiente.

campo
telefono= 123456789
nombre= pepito

Gracias de antemano.

dec 13-07-2006 11:07:47

Hola,

Cita:

Como recogeria los datos por parámetros en el server, es decir que me identifique el campo telefono y extraiga 123456789 y pepito como nombre por separado y los inserte en una base de datos en su campo correspondiente.
Vamos por partes... una cosa será tratar de que el Servidor Web te dé acceso a las "variables" que mencionas y otra ingresar esos datos en una base de datos... ¿qué base de datos? ¿Cómo y de qué manera? No me parece una tarea sencilla a bote pronto, claro que tampoco yo soy muy ducho en casi nada. Bueno. Estoy seguro de que alguien podrá decirte algo y aun algos más.

No utiliza el componente que mencionas, pero, el compañero Seoane presentó hace poco todo un Servidor HTTP, sencillito (dice él), pero, muy curioso y cuyo código fuente tienes a tu disposición. Tal vez no pensaras en algo así, pero, igualmente puede que no vieras mal echar un vistazo al trabajo de Seoane. ;) En el propio Hilo que enlazo también se da información sobre los componentes que mencionas y otros relacionados, por cierto.

coletaun 13-07-2006 11:21:46

ok
 
Gracias:

El "jugetito" parece muy interesante y didactico. Lo d einsertar los registros en la base de datos(mysql), lo tengo controlado y sin problemas. La duda es como sacar el valor de las variables o parámetros que me pasan con el componente indy httpserver.

Muchas gracias.

dec 13-07-2006 11:29:34

Hola,

Pues, la verdad es que no tengo mucha idea del componente que mencionas, así que puede que diga una barbaridad, máxime porque se me ocurre luego de echar un vistazo al componente... ¿No te valdría el evento "OnCommandGet"?

Código Delphi [-]
procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
  ARequestInfo.Command...
end;

Pero,... no sé porqué tengo la sensación de que no es esto lo que necesitas...

seoane 13-07-2006 11:50:38

Antes de nada supongo que la direccion seria de la forma siguiente:

Código:

http://urlservidor:8080/?telefono=123456789&nombre=pepito
Fijate en el "?" esto parte la URL en 2, lo que queda a la izquierda es la direccion del documento y lo que queda a la derecha son los parametros uqe se le pasan. Aclarado esto, el componenete TIdHttpServer en su evento OnCommandGet tiene como parametro ARequestInfo y este a su ves tiene la propiedad Params que contiene cada uno de los pares Nombre=Valor.

Un ejemplito
Código Delphi [-]
procedure TForm1.IdHTTPServer1CommandGet(AThread: TIdPeerThread;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
 // Esto es una burrada, no se debe mostar mensajes en este evento, pero solo es para ver como funciona
  ShowMessage(ARequestInfo.Params.Values['telefono']);
end;

Ahora usando, por ejemplo, la URL http://localhost/?Telefono=981284871 nos mostraria un mensaje con el telefono

coletaun 13-07-2006 20:26:45

gracias
 
Gracias,
Funciona perfecto, con ésto no tendre problema...


La franja horaria es GMT +2. Ahora son las 04:00:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi