如何使用Python中的telnet命令检查远程服务器上的缺勤数据流
我有一个带有IP地址和端口的远程服务器。我可以使用标准命令窗口成功连接到它。当使用命令窗口时,我可以通过窗口看到数据流,但我无法在数据流停止时收到通知。我想改用Python来完成同样的任务,它增加了一个特性,即在数据流停止时向我发出警报。我在下面附上了我一直在使用的代码,有人能帮我完成这个过程吗如何使用Python中的telnet命令检查远程服务器上的缺勤数据流,python,telnet,telnetlib,Python,Telnet,Telnetlib,我有一个带有IP地址和端口的远程服务器。我可以使用标准命令窗口成功连接到它。当使用命令窗口时,我可以通过窗口看到数据流,但我无法在数据流停止时收到通知。我想改用Python来完成同样的任务,它增加了一个特性,即在数据流停止时向我发出警报。我在下面附上了我一直在使用的代码,有人能帮我完成这个过程吗 import sys import telnetlib import easygui HOST = "###.###.###.###, 25" tn = telnetlib.Telnet(HOST)
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")
第一步是能够连接到主机;你还没有提到这是否有效。我相信我会一直读到EOF。如果您知道数据应该是什么样子,您可能需要
tn.expect
,如果您不知道,您可能需要tn.read\u lazy
下一步是能够定期检查连接,比如每分钟或每十秒钟检查一次。将帮助您轻松地安排任务
第三步是通知。如果数据检查成功,只需静默返回即可。只有在缺少数据的情况下,您才会打电话弹出消息框、发送电子邮件或其他任何信息。我还忘了提到,当我使用命令窗口远程登录时,不需要输入ID或密码。命令如下所示:telnet#############25是的,我可以在命令窗口中连接到主机,但不能使用Python。我看到一个错误框,上面写着“无效语法”,我只能单击“确定”。单击“确定”后,我将返回Python程序,并且“tn”在单词print后突出显示。您是否获得了有关错误产生位置的任何信息,例如行号?你能试着在空闲状态下运行脚本看看它在哪里出问题吗?我误读了你的评论,但我仍然不确定出了什么问题。我将打印行改为“print tn.read_until”(“blah”,5)”,并且能够非常轻松地连接到nethack telnet服务器。此外,请尝试
data=tn.read_until(“blah”,5)
打印数据
以防万一检查未初始化的变量会导致语法错误。