Показать сообщение отдельно
  #1  
Старый 03.08.2012, 12:47
mkoretskiy mkoretskiy вне форума
Прохожий
 
Регистрация: 03.08.2012
Сообщения: 4
Репутация: 10
По умолчанию Synapse telnet client

Есть задача зайти телнетом на девайс, отправить команду, получить ответ, разпарсить его и извлечь нужную информацию. С двумя типами свичей процес проходит без проблем. Начал делать третий и наткнулся на проблему - не проходит пароль.

код

Код:
    TN:=TTelnetSend.Create;
    TN.TargetHost:=ipswitch;
    TN.TargetPort:=cTelnetProtocol;
    TN.Timeout:=5000;
    TN.TermType:='dumb';
    TN.Login;
    TN.WaitFor('UserName:');
    TN.Send(SwitchLogin+CRLF);
    TN.WaitFor('PassWord:');
    TN.Send(SwitchPassword+CRLF);
    TN.WaitFor(waitfor);
    TN.Send(Format('sh fdb port %d'+CRLF,[port]));
    TN.WaitFor(waitfor);
    TN.Send('logout'+CRLF);
    Memo1.Lines.Text := TN.SessionLog;

TN.SessionLog

Код:
**** скип ****
All rights reserved.'#$A#$D'UserName:admin'#$A#$D'PassWord:**********'#$A#$D'Fail!'#$A#$D'UserName:'

так оно выглядит в обычном телнет клиенте
Код:
UserName:admin
PassWord:********

DES-3200-18:4#sh fdb port 6
Command: show fdb port 6

судя по всему мой клиент отсылает с пассвордом два лишних символа. длина пассворда 8 символов. С другими типами девайсов код работает без проблем.

Будут ли у кого соображения по теме?

Спасибо
Ответить с цитированием