Форум сайта python.su
# -*- coding: cp1251 -*-
import getpass
import sys
import telnetlib
#HOST = "10.10.10.10, 10"
#user = raw_input("Enter your remote account: ")
#password = raw_input("Enter your remote password: ")
#domain = raw_input("Enter Domain: ")
#vvod = raw_input("Enter your coomand: ")
tn = telnetlib.Telnet('10.10.10.10, 10, 10')
tn.read_until("USERCODE: ")
tn.write('Admin'+"\n")
tn.read_until("PASSWORD: ")
tn.write('Password'+"\n")
tn.read_until("DOMAIN: ")
tn.write("\n")
tn.write("exit"+"\n")
print tn.read_all()
Отредактировано (Март 19, 2010 09:37:44)
Офлайн
HOST = '127.0.0.1'
PORT = 21
tn = telnetlib.Telnet(HOST, PORT)
class Telnet([host])
Telnet represents a connection to a Telnet server. The instance is initially not connected by default; the open() method must be used to establish a connection. Alternatively, the host name and optional port number can be passed to the constructor, to, in which case the connection to the server will be established before the constructor returns.
Do not reopen an already connected instance.
Офлайн
DivergentПорт точно 10?Подскажите что неправильно делаю?# -*- coding: cp1251 -*-
import getpass
import sys
import telnetlib
#HOST = "10.10.10.10, 10"
#user = raw_input("Enter your remote account: ")
#password = raw_input("Enter your remote password: ")
#domain = raw_input("Enter Domain: ")
#vvod = raw_input("Enter your coomand: ")
tn = telnetlib.Telnet('10.10.10.10, 10, 10')
tn.read_until("USERCODE: ")
tn.write('Admin'+"\n")
tn.read_until("PASSWORD: ")
tn.write('Password'+"\n")
tn.read_until("DOMAIN: ")
tn.write("\n")
tn.write("exit"+"\n")
print tn.read_all()
Офлайн
avdoshkin
не в порте дело. это так для примера, на сам деле все данные другие.
PooH
Можно и как я писал (документацию перечитал вдоль и поперёк по telnetlib), просто дело не в этом оказалось. Почему-то +“\n” не отправляется и поэтому не дождаться “PASSWORD: ”
А так судя по всему коннект прошёл.
Осталось только понять непонятное. Почему не даётся переход на след строку. Может есть у кого мысли?
В ответ пришло
USERCODE: ADMINPASSWORDexit;
Отредактировано (Март 19, 2010 10:41:59)
Офлайн
Случайно не \r\n нужно посылать для перевода строки?
Офлайн
Попозже тоже так подумал. \r\n не прокатывает(не в те места вставляется)…, а просто \r в самы раз=)) Сервер виндовский. С unix подобной \n можно было.
Офлайн
У tn.read_all есть какой-то лимит? А то большие распечатки почему-то не идут. С маленькими всё ок.
Traceback (most recent call last):
File "C:/Python26/test.py", line 32, in <module>
a=tn.read_all()
File "C:\Python26\lib\telnetlib.py", line 325, in read_all
self.fill_rawq()
File "C:\Python26\lib\telnetlib.py", line 516, in fill_rawq
buf = self.sock.recv(50)
error: [Errno 10054]
Офлайн
попробуй time.sleep()
Офлайн
уже ставил. и 5 сек и 10,15 Распечатка полюбому должна уже была пройти.
Офлайн
Divergentу меня проблем было нужно было дождаться чтобы образ загрузился на коммутатор приходилось ждать, 3 минуты, и тогда можно было команду послать.
уже ставил. и 5 сек и 10,15 Распечатка полюбому должна уже была пройти.
Офлайн