Linux サーバーの構成時に使用される一連の telnet コマンドを自動化しようとしています。私は現在、これに Python 2.7 を使用しようとしていますが、telnetlib が適していると考えていました。しかし、残念ながら、期待どおりには機能しません。
tn = telnetlib.Telnet(ip, port)
print tn.read_until("SysCLI>")
tn.write("help" +"\n")
print tn.read_until("Registered components are:", 10)
これは、最初の印刷行「SysCLI>」のみを印刷して 10 秒後に終了します。「\r」、「\r\n」、「\n\r」など、「改行」と「改行」のさまざまな組み合わせを試しましたが、どれも役に立たないようです。私が欠けているものについて誰か提案がありますか?
更新:別のサーバーで自分のコードを試してみましたが、問題なく動作するようです:
ip = "www.google.com"
port = 80
tn = telnetlib.Telnet(ip, port)
tn.write("Get / HTTP/1.1" +"\n" +"\n")
print tn.read_some()
だから私の問題は、メッセージを送信するためにいくつかの特殊文字を必要とするサーバーであると考えています。