2016-06-28 4 views
-1

У меня есть проблема, чтобы войти в в телнете строку с помощью Perlистекло время ожидания входа в строке Telnet Perl

это моя подсказка:

Trying 192.168.10.15... 
Connected to 192.168.10.15. 
Escape character is '^]'. 

Enter username and password 
> 

И это мой код:

use Net::Telnet(); 
$t = new Net::Telnet (Port => 11052, Timeout => 10, Prompt => '/Enter username and password/ /\n/ /> $/i'); 
$t->open("192.168.10.15"); 
$t->login('test', 'test1'); 
@lines = $t->cmd("ls"); 
print @lines; 

Но у меня есть ошибка сообщение: истекло время ожидания запроса логина

Я попытался с помощью:

$t->waitfor('/Enter username and password/ /\n/ /> $/i'); 

и

$->waitfor('/> $/i'); 

может кто-нибудь помочь мне с этим?

ответ

1

я решил мою проблему: D

Это работает для меня с помощью:

use Net::Telnet(); 
$t = new Net::Telnet (Host=> "192.168.10.15", Port => 11052, Timeout => 5, Prompt => "/Enter username and password/");  
$t->waitfor('/Enter username and password/'); 
$t->print('test test1'); 

В моем случае приговор $t->login('test', 'test1'); не работает, то я пытался писать USR и PW на одной и той же линии $t->print('test test1'); и это работает!