python - 在python中发送telnet命令

标签 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')

最佳答案

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")

关于python - 在python中发送telnet命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51186355/

相关文章:

python - Django - 多个数据库 - 如何定义路由器?

python - 将 Pandas 中的时间序列重新采样为每周一次

python - 如何成对合并多个数组

java - 正则表达式选择下划线之间的所有字符

bash - 当我将任何命令通过管道传输到 telnet session 时会发生什么,为什么 session 会关闭

sockets - 带有选项卡的 Golang telnet 自动完成命令

python - 如何对 Pandas Dataframe 中的值进行 COUNTIFS 并将结果添加到列中?

python - 在 Python3 中获取 OrderedDict 的最后一个值

python - 聚合 Pandas DataFrame 中的行

laravel - 如何修复未在centos中的smtp mailtrap.io上建立的连接