Все, привет!Клиент Python telnet
В настоящее время я пытаюсь использовать Telnetlib (https://docs.python.org/2/library/telnetlib.html) для Python 2.7 для связи с некоторыми внешними устройствами.
У меня есть основы, установленные до:
import sys
import telnetlib
tn_ip = xxxx
tn_port = xxxx
tn_username = xxxxx
tn_password = xxxx
searchfor = "Specificdata"
def telnet():
try:
tn = telnetlib.Telnet(tn, tn, 15)
tn.set_debuglevel(100)
tn.read_until("login: ")
tn.write(tn_username + "\n")
tn.read_until("Password: ")
tn.write(tn_password + "\n")
tn.read_until(searchfor)
print "Found it!"
except:
print "Unable to connect to Telnet server: " + tn_ip
telnet()
И я пытаюсь пройти через все данные, это выводящие (что довольно много), пока я не поймать, что мне нужно. Несмотря на то, что он входит в систему довольно хорошо, и даже находит данные, которые я ищу, и распечатывает найденное мной сообщение, я пытаюсь сохранить соединение с telnet открытым, поскольку могут быть другие данные (или повторяющиеся данные) я бы отсутствовал, если бы я вышел из системы и зашел в систему.
Кто-нибудь знает, как это сделать?
У вас есть список конкретных фрагментов информации, которые вам нужны, или просто хотите, чтобы Telnet-соединение оставалось открытым на неопределенный срок? – VergeA
Спасибо за ваш комментарий! Я ищу несколько фрагментов информации. Когда срабатывает, что-то еще активируется, поэтому я действительно хотел бы сохранить соединение открытым, одновременно сканируя. – user5740843
Вы можете сделать объект подключения telnet переменной экземпляра класса. Во время построения/инициализации класса выполните процедуры входа в систему, а затем вы можете вызвать метод read_until() столько раз, сколько вам нужно, делегируя переменной экземпляра. Когда класс разрушен/если вам больше не требуется соединение, закройте его. – VergeA