如何在Python中使用telnet命令检查远程服务器上的缺勤数据流

时间:2012-12-11 20:37:02

标签: python telnet telnetlib

我有一个带有IP地址和端口的远程服务器。我可以使用标准命令窗口成功连接到它。使用命令窗口时,我可以看到通过窗口的数据流,但是如果数据流停止,我就无法收到通知。我想使用Python来完成相同的任务,增加的功能是在数据流停止时提醒我。我附上了以下我一直在使用的代码,是否有人能够帮助我完成这个过程?

import sys
import telnetlib
import easygui

HOST = "###.###.###.###, 25"

tn = telnetlib.Telnet(HOST)

print tn.read_all()

tn.write("exit\n")

if data =="":
    easygui.msgbox("There's no data!!", title="Bummer Box")

1 个答案:

答案 0 :(得分:2)

第一步是能够连接到主机;你还没有提到它是否有效。我相信tn.read_all会继续阅读,直到有EOF。如果您知道数据应该是什么样子,则可能需要tn.expect,如果不知道,可能需要tn.read_lazy

下一步是能够定期检查连接,例如每分钟或每十秒。 threading.Timer可以帮助您轻松安排任务。

第三步是通知。如果检查数据成功,则只需静默返回。只有在缺少数据时,您才会调用弹出消息框,发送电子邮件或其他任何内容。