Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy Telnet idtelnet Problem mit sendch() (https://www.delphipraxis.net/152874-indy-telnet-idtelnet-problem-mit-sendch.html)

Oliver1983 10. Jul 2010 14:03

Indy Telnet idtelnet Problem mit sendch()
 
Hi,


bin am verzweifeln versuche mit der Indy 10 Kompo. IDTelNet eine verbindung zu meiner FritzBox aufzubauen.
Das klappt auch, aber wenn ich jetzt das Passwort aus einem Edit Feld mit sendCh() sende, gibt er mir immer "Login failed" aus, so langsam verstehe ich nicht warum denn das Passwort ist richtig und mit Putty komm ich auch ohne Probleme rein

hier noch etwas Code:

Delphi-Quellcode:
procedure TForm4.Button9Click(Sender: TObject);
begin
 IdTelnet1.Host := LabeledEdit1.Text;
 IdTelnet1.Port := 23;
 IdTelnet1.Connect;
end;

procedure TForm4.Button11Click(Sender: TObject);
var
i : Integer;
password: string;
begin
   password := LabeledEdit2.Text;

   for i := 1 to length(password) do
    begin
   //  ShowMessage(password[i]);
     idTelnet1.SendCh(password[i]);
    end;
   idTelnet1.SendCh(#13);

end;

procedure TForm4.IdTelnet1DataAvailable(Sender: TIdTelnet;
  const Buffer: string);
const
    CR = #13;
    LF = #10;
var
    Start, Stop : Integer;
begin
  if Memo2.Lines.Count = 0 then
      Memo2.Lines.Add('');

  Start := 1;
  Stop := Pos(CR, Buffer);
  if Stop = 0 then
      Stop := Length(Buffer) + 1;
  while Start <= Length(Buffer) do begin
      Memo2.Lines.Strings[Memo2.Lines.Count - 1] :=
          Memo2.Lines.Strings[Memo2.Lines.Count - 1] +
          Copy(Buffer, Start, Stop - Start);
      if Buffer[Stop] = CR then begin
          Memo2.Lines.Add('');
          {$IFNDEF Linux}
          SendMessage(Memo2.Handle, WM_KEYDOWN, VK_UP, 1);
          {$ENDIF}
      end;
      Start := Stop + 1;
      if Start > Length(Buffer) then
          Break;
      if Buffer[Start] = LF then
         Start := Start + 1;
      Stop := Start;
      while (Buffer[Stop] <> CR) and (Stop <= Length(Buffer)) do
          Stop := Stop + 1;
  end;

end;
Ich hoffe ihr könnt mir helfen

Gruss Olli

Klaus01 10. Jul 2010 21:35

AW: Indy Telnet idtelnet Problem mit sendch()
 
Guten Abend Olli,

sendet die Fritzbox einen String wenn sie bereit ist
das Passwort zu verarbeiten?
Wartest Du darauf?

Bei der TIdTelnet Komponente gibt es
auch die Methode SendCmd, hiermit kannst Du das Passwort
komplett übertragen und nicht wie Du es machst zeichenweise.

Hast Du auch schon einmal eine Sitzung mit Bei Google suchenWireshark aufgezeichnet
und diese mit Deinem Loginversuchen verglichen?

Grüße
Klaus

Oliver1983 10. Jul 2010 22:18

AW: Indy Telnet idtelnet Problem mit sendch()
 
Hi Klaus,

vielen Dank für den Tipp mit WireShark, das Programm kannte ich schon ;) Irgendwie Arbeitet die Indy Telnet VSL unsauber, habe es mit der IdCmdTCPClient VCL hinbekommen, ging sofort ohne Probleme!!!

mit SendCmd hatte ich es auch schon ausprobiert ging aber auch nicht!!!

Vielen Dank

Gruss Olli


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz