我使用Perl Net :: telnet连接到我的路由器并更改了一些选项,但是我收到了这个错误:
模式匹配超时
每件事都是真的(用户,传递,模式等),我为这个错误的来源而疯狂。我的代码是:
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 :(得分: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
时超时。