Cita:
Empezado por orodriguezca
Lo más aconsejable para automatizar la interacción con una sesión telnet es colocar un sniffer para "ver" el flujo de caracteres que se intercambian con el servidor a medida que se ejecutan las diferentes acciones y así poder duplicar eso mismo desde nuestra aplicación. La mayoría de los servidores telnet inmediatamente, después de establecer la conexión, quedan esperando que se le envíe el usuario, a lo que el servidor responde con una petición de contraseña; es solo en este momento en que se puede enviar la contraseña.
En algunos servidores telnet es posible enviar el usuario y la contraseña separando ambos con el ascii 9 (caracter tab). En el caso de tu código sería:
Código Delphi [-]
procedure TForm1.TelnetConnect(Sender: TObject);
begin
Log.Lines.Add( 'Conectando con ' + Telnet.Host + '.' );
Log.Lines.Add( '' );
Telnet.WriteLn(Trim(Edit1.Text) + #9 +Trim(Edit2.Text));
end;
Pero que lo anterior funcione o no depende de la implementación del servidor.
|
En mi caso al conectarse al servidor te pide primero el usuario y después de esto la contraseña, intenté hacerlo como su ejemplo per veo que no envia el dato del Edit1 a la terminal ya que al conectarse solicita el usuario. intente con el ascii 13 (enter) ya que al ingresar anualmente el usuario hay que pulsar enter lo mismo que la contraseña..