Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python中的telnet命令检查远程服务器上的缺勤数据流_Python_Telnet_Telnetlib - Fatal编程技术网

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

如何使用Python中的telnet命令检查远程服务器上的缺勤数据流,python,telnet,telnetlib,Python,Telnet,Telnetlib,我有一个带有IP地址和端口的远程服务器。我可以使用标准命令窗口成功连接到它。当使用命令窗口时,我可以通过窗口看到数据流,但我无法在数据流停止时收到通知。我想改用Python来完成同样的任务,它增加了一个特性,即在数据流停止时向我发出警报。我在下面附上了我一直在使用的代码,有人能帮我完成这个过程吗 import sys import telnetlib import easygui HOST = "###.###.###.###, 25" tn = telnetlib.Telnet(HOST)

我有一个带有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")

第一步是能够连接到主机;你还没有提到这是否有效。我相信我会一直读到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)
打印数据
以防万一检查未初始化的变量会导致语法错误。