如何在python中发送telnetlib控件+]命令

时间:2018-07-04 21:10:25

标签: python python-2.7 telnet telnetlib

我正在尝试使用telnetlib库在python中发送control + ]命令。

我目前正在做

tn.write('^]')

还有

tn.write('\x1D') 
我从http://donsnotes.com/tech/charsets/ascii.html那里得到的

要输入control-A,我使用tn.write('\x01'),它可以工作,所以我很困惑为什么tn.write('\x1D')control-]不起作用。

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

ctrl-]无法通过网络发送。您必须使用close()

这样的同义词

要进一步阅读,请在此处查看准确答案:https://mail.python.org/pipermail/python-list/2012-December/636929.html

答案 1 :(得分:0)

实际上没有将^]命令发送到服务器。这是对telnet客户端的命令。当您运行telnet程序(完全与python不相关)时,您会看到:

~$ telnet localhost 2050
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

这意味着^]是一个转义字符。这是一种使本地telnet程序退出将所有内容发送到服务器的输入模式,然后进入接受本地命令的输入模式的方法。在这种情况下,键入^]时,telnet程序不会将其发送到服务器,而只会更改输入模式。

由于您是使用telnet协议直接连接到服务器,而不是使用telnet 程序,因此发送^]毫无意义。