使用 telnetlib 的 telnet 连接问题

问题描述

我正在尝试建立 telnet 连接,但代码卡在 read_until() 处。下面是我的代码。我添加了用于调试目的的 print() 语句:-

def telneteNB():
    user = 'admin'
    password = 'abc123'
    windowsDomain = 'DESKTOP-253IDVD'
    try:
        tn = telnetlib.Telnet("10.255.2.450",timeout=10)
        print("connected")


        tn.read_until(b"login name: ")
        print("After login name")
        tn.write(user.encode('ascii') + b"\n")
        print("After entering login name")

        tn.read_until(b"password: ")
        print("After password")
        tn.write(password.encode('ascii') + b"\n")
        print("After entering password")

        tn.read_until(b"Windows Domain: ")
        tn.write(windowsDomain.encode('ascii') + b"\n")

        print('after login')

        tn.write(b"dir\n")

        print('after dir')
        tn.write(b"exit\n")

        output = tn.read_all().decode('ascii')
        print(output)


    except:
        print("timed out")

telneteNB()

但是,此代码输出时出现以下消息:-

pmas@IBEXDEV:~$ python3 telnetToeNB.py
connected
After login name
After entering login name

我该如何解决这个问题?

解决方法

所以我已经解决了。基本上我已将 \n 更改为 \r\n。现在它正在工作。