在python中发送telnet命令

时间:2018-07-05 08:14:16

标签: python python-3.x telnet telnetlib

我正在尝试在tetnet中发送命令,但是它不起作用。我试过在这个论坛中找到不同的代码,但没人能用。用于重启设备。我正在使用python 3.6。

import telnetlib

host = "192.168.1.0"
port = 23
timeout = 100

session = telnetlib.Telnet(host, port, timeout)
session.write("administrator\n").encode('ascii')
session.write("password\n").encode('ascii')
session.write("reboot\n").encode('ascii')

1 个答案:

答案 0 :(得分:1)

Telnet.write()函数采用字节字符串。可以通过仅编码字符串(您尝试对函数的返回值进行编码)来提供,例如

session.write("administrator\n".encode('ascii'))

或通过如下方式为您的字符串加上b前缀:

import telnetlib

host = "192.168.1.0"
port = 23
timeout = 100

with telnetlib.Telnet(host, port, timeout) as session:
    session.write(b"administrator\n")
    session.write(b"password\n")
    session.write(b"reboot\n")