1

我想建立一个 telnet 连接,但我不想在终端中看到我写和读的内容。例如

tn = telnetlib.Telnet(host)
tn.write(command.encode('ascii') + b"\n")
time.sleep(0.1)
ret = True if b'iconstorage' in self.tn.read_until(b'iconstorage') else False
.
.
.

我不想看到任何东西但仍然收到

    Telnet(host): send b'command\n'
    Telnet(host): recv b'\xff\xfd\x01\xff\xfd\x1f\xff\xfb\x01\xff\xfb\x03\r\r\nls\r\n~ # ls\r\n\x1b[1;34mbin\x1b[0m         '
    Telnet(host): IAC DO 1
    Telnet(host): IAC DO 31
    Telnet(host): IAC WILL 1
    Telnet(host): IAC WILL 3

.
.
.

有可能避免这种情况吗?提前致谢。

4

1 回答 1

1

如果您在Telnet该类的实例上启用了调试模式,您应该只会看到类似的内容。

调试模式默认关闭,因此除非您已更改telnetlib.py,否则您无法使用您在问题中发布的代码块获得该输出。

无论哪种方式,您都可以使用...显式禁用它

tn = telnetlib.Telnet()
tn.set_debug_level(0)
tn.open(host)
tn.write(command.encode('ascii') + b"\n")
# etc.
于 2013-06-13T19:00:12.970 回答