我正在尝试自动化配置 linux 服务器时使用的一组 telnet 命令。我目前正在尝试为此使用 Python 2.7,并认为 telnetlib 将是要走的路。但不幸的是,它并没有像我预期的那样工作。
tn = telnetlib.Telnet(ip, port)
print tn.read_until("SysCLI>")
tn.write("help" +"\n")
print tn.read_until("Registered components are:", 10)
这将在 10 秒后终止,只打印第一行:“SysCLI>”。我尝试了“回车”和“换行”的不同组合,包括“\r”、“\r\n”、“\n\r”,它们似乎都没有帮助。有人对我所缺少的有什么建议吗?
更新:我在另一台服务器上尝试了我的代码,它似乎工作正常:
ip = "www.google.com"
port = 80
tn = telnetlib.Telnet(ip, port)
tn.write("Get / HTTP/1.1" +"\n" +"\n")
print tn.read_some()
所以我认为我的问题是服务器需要一些特殊字符来发送消息。