Python Telnetlib — вводит пароль перед запросом ввода пароля

Я новичок в python. Я пытаюсь подключиться к telnet, затем войти в систему, используя имя пользователя и пароль, выполнить команду и получить результаты один за другим. Я закодировал, как показано ниже:

print ("Starting Client...")
host    = "<myIp>"
timeout = 120
user = "myUserName"
password = "myPassword"

print ("Connecting...")
try:
    session = telnetlib.Telnet(host, 23, timeout)
    session.read_until("USERNAME : ",2)
    session.write(user + "\n")
    print("UserName entered")
    response = session.read_until("PASSWORD : ",2)
    print(str(response))
    session.write(password + "\n")
    print("password Entered")
except Exception,e:
    print ("socket timeout")
else:
    print("Sending Commands...")
    session.write("Mycommand".encode('ascii') + b"\r")
    print("Reading...")
    output = session.read_until("commandBash>", timeout )
    session.close()
    print(output)
    print("Done")

Для вышеуказанной программы я получаю вывод как:

Starting Client...
Connecting...
UserName entered
 myUserName
password Entered
Sending Commands...
Reading...
myPasswordMycommand

PASSWORD:
Done

Из этого я мог узнать, что пароль даже не был введен, когда он запрашивает пароль. Он фактически вводит пароль и команду до запроса пароля. Поэтому я даже пытался поставить time.sleep (20) после ввода имени пользователя. Все еще бесполезно. Я не мог понять что мне здесь не хватает. Пожалуйста, помогите мне, друзья


person Deepak Ramakrishnan Kalidass    schedule 08.09.2015    source источник


Ответы (1)


Обнаружил, чего мне не хватало. Это очень маленькая вещь. Я пропустил ввод этого кода для выполнения операции «ВВОД» под каждым сеансом. операция

person Deepak Ramakrishnan Kalidass    schedule 08.09.2015