我正在尝试自动化一个过程,在这个过程中,我将远程登录到RouterA,然后再从RouterA远程登录到RouterB。我有代码telnet到RouterA,它工作得非常好,但我不能从RouterA telnet到RouterB。会话变得无响应。我做错了什么。有人能引导我吗?在
Below is my code:
import os
import telnetlib
import re
def telNetCall():
host = "15.xx.xx.xx"
user = "admin"
password = "password"
enable_password = "enable_password"
telnet = telnetlib.Telnet(host)
telnet.read_until('Username: ', 3)
telnet.write(user + '\r')
telnet.read_until('Password: ', 3)
telnet.write(password + '\r')
telnet.write('enable' + '\r\n')
telnet.write(enable_password + '\r\n')
telnet.read_until("#")
telnet.write("telnet 20.xx.xx.xx" + '\r\n')
telnet.read_until('Username: ', 3)
telnet.write(user + '\r')
telnet.read_until('Password: ', 3)
telnet.write(password + '\r')
telnet.write('enable' + '\r\n')
telnet.write(enable_password + '\r\n')
telnet.write("show logg"+ "\r\n")
telnet.write('exit' + '\r')
a = telnet.read_all()
f = open(host, 'w')
f.write(str(a))
telNetCall()
代码正在工作,但执行需要很长时间。我相信我在做一些不允许代码高效运行的事情。如果代码有任何问题,欢迎提出建议。非常感谢任何帮助。在
我已经找出了错误,现在它对我来说很好。现在几乎不需要5秒钟。
您可以使用其他read_xx()函数,如}。在
read_until()
或{请参阅下面
Telnet.read_all()
的评论:相关问题 更多 >
编程相关推荐