import getpass
import sys
import telnetlib
host = "10.28.103.126"
user = b"apc"
password = b"apc"
outlet = b"8"
tnObject = telnetlib.Telnet(host)
print("yes")
tnObject.read_until(b"User Name :")
tnObject.write(user + b"\n")
print("sent user")
tnObject.read_until(b" ")
tnObject.write(password + b"\n")
print("sent password")
tnObject.read_until(b"Name ")
tnObject.write(b"1" + b"\n")
print("sent first command")
tnObject.read_until(b">")
tnObject.write(outlet + b"\n")
print("sent second command")
tnObject.read_until(b">")
tnObject.write(b"1" + b"\n")
print("sent third command")
tnObject.read_until(b">")
tnObject.write(b"2" + b"\n") #(1 is ON) (2 is OFF)
print("sent fourth command")
tnObject.read_until(b"Enter ")
tnObject.write(b"yes" + b"\n" + b"\n")
tnObject.read_until(b">")
tnObject.close()
print(tnObject.read_all())
Я пробовал десятки различных комбинаций строк, которые следует читать, я попытался добавить пробелы до и после, написание и просто b "", чтобы ожидать пробела, но ничего не работает, чтобы отправить первую команду , Остальные 3 строки были прочитаны просто отлично. Что является альтернативой этому read_until?read_until Telnetlib в Python не будет читать ожидаемую строку. Что такое альтернативы?
Кроме того, я пробовал спать (.5) и спал (1), но это тоже не сработало. Я также пытался просто написать строки в буфер, не дожидаясь read_until. Помогите!