2013-08-22 2 views
0

Я использую Perl Net :: Telnet для подключения к моему маршрутизатору и изменить некоторые параметры, но я получаю эту ошибку:Pattern Match тайм-аут

pattern match timed-out

каждую вещь истинна (пользователь, передать, рисунок и т.д.), я схожу с ума из-за источника этой ошибки. мой код:

use Net::Telnet; 
$telnet = new Net::Telnet (Timeout=>10, Errmode=>'die'); 
$telnet->open('192.168.1.1'); 
$telnet->waitfor('/login[: ]$/i'); 
$telnet->print('admin'); 
$telnet->waitfor('/password[: ]$/i'); 
$telnet->print('admin'); 
$telnet->waitfor('/\$ $/i'); 
$telnet->print('list'); 
$output = $telnet->waitfor('/\$ $/i'); 
print $output; 

Что мне теперь делать? Есть ли альтернативный способ? Спасибо

+0

Эти строки, которые вы передаете 'waitfor', являются ли они регулярными выражениями? –

+0

Да, когда я подключился к моему маршрутизатору (admin, admin), я получаю этот $ для ввода команды – user2676574

+0

отключить безопасность. – michael501

ответ

0

Возможно, попробуйте войти в систему, используя пример в верхней части страницы Net::Telnet?

use Net::Telnet(); 
$t = new Net::Telnet (Timeout => 10, Errmode=>'die'); 
$t->open($host); 
$t->login($username, $passwd); 
@lines = $t->cmd("who"); 
print @lines; 

Это похоже на работу. Пока ваш фрагмент кода истекает при первом waitfor попытках входа в систему.

+0

Нет работы: тайм-аут ждет командной строки – user2676574

+0

Есть ли у вас альтернативный способ? не использовать Net :: Telnet() – user2676574

+0

Хм, а вы можете telnet в свой маршрутизатор вручную без проблем? – nitekrawler

Смежные вопросы