IdTelnet Passwortübergabe
spacer
Autor Nachricht
realAndy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Windows 7
Delphi 2010, Java
BeitragVerfasst: Mo 16.01.12 16:42 
Hi,

ich möchte micht mit der Indy Komponente IdTCPClient mit einem Server über Telnetverbindung verbinden. Hierzu muss ich ja den Loginnamen und das Passwort übertragen. Wie kann ich dies aber machen?
Wenn ich folgen Code ausführe, dann passiert erst eine weile nichts und dann kommt die Meldung Connection Closed Gracefully.
IdTCPClient1.IOHandler.ReadLn gibt gar nichts zurück.
Was macheich falsch, b.z.w. wie sende ich die Logindaten an den Server?


ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
IdTCPClient1.Host := ...;
IdTCPClient1.Port := 23;
IdTCPClient1.Connect;
if not (IdTCPClient1.Connected) then
begin
showmessage('es konnte keine Verbindung aufgebaut werden!');
exit;
end;

IdTCPClient1.SendCmd('USER ' + 'username');
IdTCPClient1.SendCmd('PASS ' + 'password');
JvMemo1.Lines.Add(IdTCPClient1.IOHandler.ReadLn);



Danke für eure Hilfe
Andy

Moderiert von user profile iconMartok: Delphi-Tags hinzugefügt

_________________
Viele Grüße
Andy


Zuletzt bearbeitet von realAndy am Di 17.01.12 11:10, insgesamt 1-mal bearbeitet
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
realAndy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Windows 7
Delphi 2010, Java
BeitragVerfasst: Mo 16.01.12 18:03 
ich habe jetzt versucht die Telnet Verbindung mit der Komponente IdTelnet herzustellen.
ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
IdTelnet1.Host := '....';
IdTelnet1.Port := 23;
IdTelnet1.Connect;
IdTelnet1.SendCmd('username');
IdTelnet1.SendCmd('passwort');
...
Nach einiger Zeit kommt dann allerdings immer noch die Meldung "Connection Closed Gracefully".

Wie muss ich die Logindaten an den Server schicken und wie kann ich herausfinden ob das Login erfolgreich war?

Ich hoffe ihr könnt mir weiterhelfen :)

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt

_________________
Viele Grüße
Andy
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
realAndy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Windows 7
Delphi 2010, Java
BeitragVerfasst: Di 17.01.12 11:06 
hmm, kann mir keiner Weiterhelfen?

Es muss doch möglich sein mit Delphi 2010 eine Telnet Verbindung aufzubauen bei welcher Loginname und PW übergeben werden müssen.
Nur wie kann ich die Logindaten übergeben?

_________________
Viele Grüße
Andy
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Administrator
Beiträge: 8371
Erhaltene Danke: 244

W2k, WXPpro
TP3 - D7pro
BeitragVerfasst: Di 17.01.12 13:26 
Moin!

Hm, wie man das mit D2010 und möglicherweise Indy10 macht, weiß ich nicht. :nixweiss:

Aber da bisher keiner was beizutragen hatte: ich habe mal in meinem QT-Archiv gewühlt, irgendwann hatte ich auch mal was mit der IdTelnet-Kompo zu tun, allerdings D7pro und Indy9... :?

Hier mal so im Groben:
ausblenden volle Höhe Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
type
TConnectionTask = (
ctDisconnect, // Verbindung trennen
ctQuery // Verbindungszustand abfragen
);

TMainForm = class(TForm)
LC: TIdTelnet;
edHost: TEdit;
edPassword: TEdit;
BtnQuery: TButton;
BtnDisconnect: TButton;
procedure LCDataAvailable(Sender: TIdTelnet; const Buffer: String);
procedure LCConnected(Sender: TObject);
procedure BtnQueryClick(Sender: TObject);
procedure BtnDisconnectClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
FConnectionTask: TConnectionTask;
FReceiveBuffer: String;
procedure SetConnectionTask(const Value: TConnectionTask);
public
property ConnectionTask: TConnectionTask read FConnectionTask write SetConnectionTask;
end;

var
MainForm: TMainForm;

implementation

{$R *.dfm}

procedure TMainForm.LCConnected(Sender: TObject);
begin
LC.WriteLn(edPassword.Text);
case FConnectionTask of
ctQuery:
begin
LC.WriteLn('dir /st/conn');
LC.WriteLn('dir /st/wa/th');
end;
ctDisconnect:
LC.WriteLn('do /o/m/d');
end;
LC.WriteLn('exit');
end;

procedure TMainForm.LCDataAvailable(Sender: TIdTelnet; const Buffer: String);
begin
FReceiveBuffer := FReceiveBuffer +Buffer;
if (NOT Sender.Connected) then
if (FConnectionTask > ctDisconnect) then
with TStringList.Create do try
CommaText := UpperCase(FReceiveBuffer);
while ( (Count > 0) and (Strings[0] <> 'DSL-CH-1') ) do
Delete(0);
if (Count >= 6) then begin
edConTime.Text := Strings[5];
Delete(0);
end;
while ( (Count > 0) and (Strings[0] <> 'DSL-CH-1') ) do
Delete(0);
if (Count >= 4) then
edAvgRx.Text := Strings[3];
finally
Free;
end;
end;

procedure TMainForm.SetConnectionTask(const Value: TConnectionTask);
begin
FConnectionTask := Value;
FReceiveBuffer := '';
LC.Connect;
end;

procedure TMainForm.BtnQueryClick(Sender: TObject);
begin
ConnectionTask := ctQuery;
end;

procedure TMainForm.BtnDisconnectClick(Sender: TObject);
begin
ConnectionTask := ctDisconnect;
end;
Irgendwas habe ich damals mit meinem Router veranstaltet, frag mich nicht was... :hair: Hat aber geklappt. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
realAndy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Windows 7
Delphi 2010, Java
BeitragVerfasst: Mi 18.01.12 13:07 
Danke für die Antwort :)
Aber irgend wie will das bei mir mit Indy10 nicht laufen.
Ich hab jetzt Overbyte ICS genommen und schon geht alles.

Mich würde trotzdem interessieren, wie man das ganze unter Delphi 2010 mit Indy10 hinbekommt.


Viele Grüße
Andy

_________________
Viele Grüße
Andy
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
home home