1

我尝试构建一个小 telnet 脚本来与 Perl 中的Net::Telnet模块取得联系,当我尝试接收输出时,我遇到了命令超时。

$telnet = new Net::Telnet ( Timeout=>10);
$telnet->errmode("return");
$telnet->open('192.168.0.187');
$telnet->waitfor('/Username: $/i');
$telnet->print('admin');
$telnet->waitfor('/Password: $/i');
$telnet->print('admin');
$telnet->waitfor('/admin  >$/i');
@output = $telnet->cmd('show');
#$telnet->waitfor('/admin  >$/i');
print @output;

但我得到的是:

telnet.pl 第 12 行命令超时

试图增加超时,将 errmode 设置为返回 - 但仍然获得超时。尽管如此,服务器上“show”的输出需要大约 1 秒,所以我猜我的脚本中肯定有其他问题?

4

1 回答 1

1

请告诉我们脚本中的第 12 行是什么。您上面的代码段没有第 12 行。

这将有助于确定它是在已经连接期间还是在稍后的命令期间失败。您确定是“显示”命令失败了吗?

于 2012-08-21T21:26:12.850 回答