2
誰もが、こんにちは!Python telnetクライアント
私は現在、Python 2.7のTelnetlib(https://docs.python.org/2/library/telnetlib.html)をいくつかの外部デバイスと通信しようとしています。
私は基本的には設定している:
import sys
import telnetlib
tn_ip = xxxx
tn_port = xxxx
tn_username = xxxxx
tn_password = xxxx
searchfor = "Specificdata"
def telnet():
try:
tn = telnetlib.Telnet(tn, tn, 15)
tn.set_debuglevel(100)
tn.read_until("login: ")
tn.write(tn_username + "\n")
tn.read_until("Password: ")
tn.write(tn_password + "\n")
tn.read_until(searchfor)
print "Found it!"
except:
print "Unable to connect to Telnet server: " + tn_ip
telnet()
をそして私は私が必要なものをキャッチするまで、私は(かなり多くある)を出力のすべてのデータを通過しようとしています。それは非常に細かいログに記録されていて、私が探しているデータを見つけ出してメッセージを見つけたとしても、私はtelnetとの接続を維持する方法を試しています。 )ログオフしてログインし直した場合、私は行方不明になります。
誰でもこれを行う方法を知っていますか?
必要な情報の一覧がありますか、Telnet接続を無期限に開いておきたいですか? – VergeA
コメントありがとうございます!私はいくつかの情報を探しています。トリガされると、何か他のものがアクティブになるので、同時にスキャンしながら接続を開いたままにしたいと思います。 – user5740843
telnet接続オブジェクトをクラスのインスタンス変数にすることができます。クラスの構築/初期化中にログインプロシージャを実行すると、インスタンス変数に委譲することによってread_until()メソッドを必要な回数だけ呼び出すことができます。クラスが破壊されたとき/あなたがもう接続を必要としないときは、それを閉じます。 – VergeA