【问题标题】:How do I send telnetlib control + ] command in python如何在 python 中发送 telnetlib control + ] 命令
【发布时间】:2018-12-13 07:32:40
【问题描述】:

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

目前我在做:

tn.write('^]')

还有

tn.write('\x1D') 

我从http://donsnotes.com/tech/charsets/ascii.html得到的

输入control-A 我使用tn.write('\x01') 并且它有效,所以我很困惑为什么tn.write('\x1D') 不适用于control-]

感谢您的帮助

【问题讨论】:

    标签: python python-2.7 telnet telnetlib


    【解决方案1】:

    ctrl-] 无法通过网络发送。你必须使用它的同义词,比如close()

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

    【讨论】:

      【解决方案2】:

      ^] 命令实际上并未发送到服务器。它是对 telnet 客户端的命令。当您运行telnet 程序(与python 完全无关)时,您会看到:

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

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

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

      【讨论】:

        猜你喜欢
        • 2014-11-28
        • 2017-11-02
        • 2012-07-19
        • 2018-12-13
        • 1970-01-01
        • 1970-01-01
        • 2010-10-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多