Hola a todos, en clase estamos haciendo una práctica con Delphi 2006 en la que enviamos una petición HTTP a un servidor web por ejemplo con el comando GET. Toda la información de la petición está escrita en un TMemo (input) y la respuesta nos la tiene que escribir en otro TMemo (output).
Hemos usado el componente de Indy10 TIdTcpClient pero se nos cuelga la aplicación. Usamos el try {conectar y enviar peticion} finally {desconectar}
como se muestra aquí:
Código Delphi
[-]procedure TForm1.btGETClick(Sender: TObject);
var
i:integer;
begin
if edProtocol.Text='' then btInterprClick(Self); Input1.Lines.Add('GET '+edPath.text+' HTTP/1.1'+EOL+'Host: '+edHost.Text+EOL); Output1.Lines.Clear;
SckClient.Host:=edHost.Text;
SckClient.Port:=Port;
try
SckClient.Connect;
If sckclient.Connected then showmessage ('Conectado!');
for i := 0 to Input1.Lines.Count - 1 do
begin
SckCLient.IoHandler.Write(Input1.Lines[i]);
Output1.Lines.Add(SckClient.IoHandler.Readln);
end;
finally
SckClient.Disconnect;
end;
end;
Parece que conectarse se conecta porque muestra el showmessage, también parece que envía la petición (Write) porque con F7 pasa a la línea siguiente... que es donde se cuelga (freeze) sin dar ningún error.
Alguien sabe como solucionarlo? Gracias
