Net:Telnet について助けが必要です。VT-100 端末に接続しようとしています。コンソールから通常の telnet を使用すると、正常に動作します。接続してコマンドを発行することはできますが、perl から同じことを試みると接続しますが、何も起こりません。 >サイン)。私はすべての可能な方法を試しました-> print、cmd、putなどの方法を使用しましたが、成功せず、そのことに2日間立ち往生しました。
ここに私のサンプルコードがあります:
use Net::Telnet ();
my $conn = new Net::Telnet (TelnetMode => 0);
unless ($conn->open(Host => $host, Port => 23))
{
die "Error opening socket:: ".$conn->errmsg();
}
print "Connected to ".$conn->host().", port ".$conn->port()."\n";
$conn->prompt('/...>/'); # prompt is 014>
my $lines = $conn->put("15\r"); # command 15 to give me the site name
my ($a,$b);
($a,$b) = $conn->waitfor(Match=>'/...>/',Timeout=>100);
$conn->close;
間違ったコマンドを入力すると、通常 telnet はエラー メッセージとプロンプトを表示しますが、Perl からは何もしません。入力ログは空、出力ログは空、ダンプ ログには以下のみが含まれます。
0x00000: 31 35 0d 0a 15..
他に何を試すべきかわかりません。
通常の telnet セッションの出力は次のようになります。
Trying xxx.xxx.xxx.xxx...
Connected to xxx.xxx.xxx.xxx.
Escape character is '^]'.
014>15
15
014 TMR Name
014>^]
telnet> quit
Connection closed.
どんな助けでも大歓迎です