以下经过本人测试,运行OK。
def do_telnet(Host, username, password,finish, commands):
import telnetlib
tn = telnetlib.Telnet(Host,port=23, timeout=10)
tn.set_debuglevel(2) # 2表示开启调试模式,这样可以返回处理过程
tn.read_until('Username:') # Username为交换机telnet进去看到的值,表示读到Username:,进行下一步。
tn.write(username + '\n') # 写入username,’\n’window、Linux会有差别
tn.read_until('Password:') #读到Password:,进行下一步。
tn.write(password + '\n') # 写入password,’\n’window、Linux会有差别
tn.read_until(finish)
for command in commands:
tn.write('%s\n' % command)
tn.read_until(finish)
tn.close()
if __name__=='__main__':
Host = '192.168.1.1'
username = 'admin'
password = 'pwd'
finish = ':~$Snbsp;'
commands = ['echo "test"']
do_telnet(Host, username, password, finish,commands)
完成。