【发布时间】:2015-12-31 08:30:04
【问题描述】:
我正在尝试打开一个 telnet 连接,编写一个字符串,然后用 Python 打印来自 telnet 服务器的所有内容。我认为我遗漏了一些明显的东西,因为文档看起来很不言自明,并且在终端中做我认为完全相同的事情可以正常工作。
这是 Python 代码:
import telnetlib
telnet = telnetlib.Telnet()
telnet.open('192.168.1.128', 9801, 10)
telnet.write("SYSTEM_CAL")
print(telnet.read_all())
这在 10 秒后超时/没有成功连接到我假设的服务器。这是输出:
Traceback (most recent call last):
File "/Volumes/Work/Scripting/Telnet Test/main.py", line 9, in <module>
print(telnet.read_all())
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/telnetlib.py", line 385, in read_all
self.fill_rawq()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/telnetlib.py", line 576, in fill_rawq
buf = self.sock.recv(50)
socket.timeout: timed out
在下图中,我连接到终端中的同一台服务器,一切正常。最后,我给出了服务器执行的“DISCONNECT”命令,这就是连接关闭的原因。
我错过了什么吗?为什么这在终端而不是 Python 中工作?
【问题讨论】:
标签: python python-2.7 terminal telnet telnetlib