Python telnet连接成功

Python telnet连接成功,python,telnet,telnetlib,Python,Telnet,Telnetlib,我想知道是否有可能知道我的telnet连接是否成功 所以,如果我连接到我的交换机,如果我能写命令 telnet = telnetlib.Telnet(IP) telnet.read_until(b"User Name:") telnet.write(b"LOGIN\n") telnet.read_until(b"Password:") telnet.write(b"PASSWORD\n") # Here I want to know if I'm connected 你可以走这条路: def

我想知道是否有可能知道我的telnet连接是否成功

所以,如果我连接到我的交换机,如果我能写命令

telnet = telnetlib.Telnet(IP)
telnet.read_until(b"User Name:")
telnet.write(b"LOGIN\n")
telnet.read_until(b"Password:")
telnet.write(b"PASSWORD\n")
# Here I want to know if I'm connected
你可以走这条路:

def is_connected(telnet_obj ):
    answer = telnet_obj.read_all()
    if "connected" in answer:             #this test condition is not real is an example
        return True
    else:
        return False

如果您观察路由器/交换机返回的内容,您可以测试该条件。在本例中,测试应答变量中是否存在字符串或缺失。

如果您计划在验证后写入内容,请不要使用
read\u all
。它会阻止连接,直到达到
EOF
/连接关闭

首先检查telnet服务器在使用putty或其他方法成功进行身份验证时给出的输出
read__\ll
验证后要匹配的字符串

telnet = telnetlib.Telnet(IP)
telnet.read_until(b"User Name:")
telnet.write(b"LOGIN\n")
telnet.read_until(b"Password:")
telnet.write(b"PASSWORD\n")

telnet.read_untill("string to be matched")

telnet
lib中没有这样的选项,您可以解析服务器响应并检查连接是否成功,也就是说,如果服务器响应成功的身份验证,实际上,如果连接丢失,我认为一些方法将返回
eoferor
。因此,您可能应该将代码包含在
Try/Except
子句中。看这里:@Harwee我用了你的提示,它工作得很好@Harwee是的,你是对的。使用telnet.read_until()或telnet.read_very_eager()更好,谢谢你们两位!)