Я пытаюсь открыть telnet-соединение, написать одну строку, а затем распечатать все с сервера telnet в Python. Я предполагаю, что мне не хватает чего-то очевидного, потому что документация кажется довольно понятной и делает то, что, по моему мнению, то же самое, что и в терминале, прекрасно работает.Клиент python telnetlib, похоже, не открывает 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?
Я получаю приветственное сообщение, когда я это делаю, но потом оно время. Я не получаю КОМАНДЫ: ОК, которая должна возникнуть в результате записи SYSTEM_CAL – zjuhasz
@createer - Интересно, нужен ли вашему telnet-серверу терминатор линии для обработки команды. См. Недавнее редактирование. –
Да, это было, большое спасибо, сэр! – zjuhasz