Python:使用pexpect脚本时Telnet密码无法输入

3
我在运行telnet脚本时遇到问题,使用pexpect。问题是它只从脚本中获取用户名而没有密码。它获取了密码的值,但却没有输入相同的值。下面是我的脚本:
import pexpect
import sys,time
ipaddr = "192.168.100.85"
username = "usr"
password = "Pass@123"
telconn = pexpect.spawn("telnet " + ipaddr)
telconn.expect(":")
telconn.logfile=sys.stdout
time.sleep(15)
telconn.sendline(username + "\r")
telconn.expect(":")
telconn.sendline(password + "\r")
time.sleep(30)
telconn.expect(">")
print "Authentication Sucesss"

输出结果如下:

Trying 192.168.100.85...
Connected to 192.168.100.85.
Escape character is '^]'.
Welcome to Microsoft Telnet Service 


login: usr

password: Pass@123

The operation completed successfully.

Login Failed
1个回答

5
我已经找到解决方案,
import pexpect
import time,sys
telconn = pexpect.spawn('telnet 192.168.100.85')
time.sleep(20)
telconn.logfile = sys.stdout
telconn.expect(":")
time.sleep(20)
telconn.send("usr" + "\r")
telconn.expect(":")
telconn.send("Pass@123" + "\r")
telconn.send("\r\n")
time.sleep(20)
telconn.expect(">")

这对我有用。

telconn.send("\r\n") 的作用是什么? - L. Don

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接