Python + telnet |
Здравствуйте, гость ( Вход | Регистрация )
Python + telnet |
Гость_Я_* |
26.9.2010, 21:54
Сообщение
#1
|
Гости |
Привет всем.
Хочу приконнектиться из python'а к железке по telnet'у. Нашел полузную либу telnetlib. Нашел пример на сайте разработчика, подправил под свой, но работать не хочет. Пишет: Цитата Password: ^CTraceback (most recent call last): File "./telnet.py", line 29, in <module> print tn.read_all() File "/usr/local/lib/python2.5/telnetlib.py", line 337, in read_all self.fill_rawq() File "/usr/local/lib/python2.5/telnetlib.py", line 528, in fill_rawq buf = self.sock.recv(50) KeyboardInterrupt вот сам код уже исправленный:
А это оригинал:
Заранее благодарен за отввет. ЗЫ. Если не там создал - переместите, пожалуйста. ЗЗЫ. Если тема поднималась ранее - ткните носом. |
|
|
Kagami |
26.9.2010, 23:39
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
Я питон не знаю, но судя по выводу ты сам нажал Ctrl+C для завершения программы. К тому же ты уверен что пароль на сервере для пользователя admin пустой? В твоем скрипте ты отправляешь только перевод строки.
|
|
|
Гость_Я_* |
27.9.2010, 5:55
Сообщение
#3
|
Гости |
ты сам нажал Ctrl+C для завершения программы Я полчаса ждал пока она выведет хоть что-то. К тому же ты уверен что пароль на сервере для пользователя admin пустой? В твоем скрипте ты отправляешь только перевод строки. Моя железка. Я уверен. В ответ на запрос пароля я отправляю ему перевод каретки, дабы эмулировать нажатие клавиши Enter. |
|
|
Гость_Я_* |
27.9.2010, 8:16
Сообщение
#4
|
Гости |
Собственно другой вопрос нарисовался.
как правильно передать пароль. Такое ощущение, что пароль не передается вообще. |
|
|
alex977 |
27.9.2010, 14:25
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 310 Регистрация: 19.6.2008 Из: Россия, МО, г.Мытищи Пользователь №: 206 Спасибо сказали: 77 раз(а) Репутация: 8 |
Похожая тема (если кратко - устройство не успевает обрабатывать команды)
Сообщение отредактировал alex977 - 27.9.2010, 14:39 |
|
|
Гость_Я_* |
27.9.2010, 15:07
Сообщение
#6
|
Гости |
Проблему я решил. Устройство все успевает, только надо выпрямители рук подарить докописцам и людям, которые копипастят. Не знаешь что пишешь - не пиши. В общем объясняю.
В примерах, ввод команды заканчивается "\n", а надо использовать "\r". Для незнающих поясняю: В документации говорится, что "\n» - символ перехода на новую строку с внутренним кодом 0x0A, а "\r» - символ возврата каретки с внутренним кодом 0x0D. Получается, что устройства, к которым я пытался подключиться отлавливают именно 0x0D, а 0x0A просто добавляли вконец написанной строки. И в итоге код получается таким:
Вот так. |
|
|
Текстовая версия | Сейчас: 23.11.2024, 4:32 |