Python Telnet连接关闭



我正在尝试通过telnet向服务器发送一些命令。这是手工完成的,但是我被要求使用python自动化它。

我的代码开始这样启动:

import telnetlib
HOST = "xxx.xxx.xxx.xxx"
PORT = xx
print("connecting...")
tn = telnetlib.Telnet(HOST, PORT)
tn.read_until(b"250")
print("connection established!nsending ehlo...")
tn.write(b"EHLO test.com")
tn.read_until(b"250")
print("response received")
...

如果我手工输入命令,则有效。但是脚本几分钟后就取代了以下输出:

connecting...
connection established!
sending ehlo...
Traceback (most recent call last):
  File "telnet_test.py", line 11, in <module>
    tn.read_until(b"250")
  File "/usr/lib/python3.6/telnetlib.py", line 327, in read_until
    return self.read_very_lazy()
  File "/usr/lib/python3.6/telnetlib.py", line 403, in read_very_lazy
    raise EOFError('telnet connection closed')
EOFError: telnet connection closed

根据输出,我的telnet连接关闭了,但我看不到为什么!也许很重要:启动输出后,connecting...持续了几分钟,然后将其余的输出(包括例外)打印出来。read_until()功能阻止的时间比必要的时间更长,所以我的连接Timouts?我该如何解决?

信用用户molbdnilo

我需要在每个命令上添加一个newline字符。

所以 tn.write(b"EHLO test.com")变成 tn.write(b"EHLO test.comn")

相关内容

  • 没有找到相关文章

最新更新