forum.bitel.ru http://forum.bitel.ru/ |
|
Telnet (CRM) http://forum.bitel.ru/viewtopic.php?f=19&t=4436 |
Страница 1 из 1 |
Автор: | stanislav [ 16 авг 2010, 13:54 ] |
Заголовок сообщения: | Telnet |
Помогите, пожалуйста, разобраться с телнетом. Хотел написать скрипт для автоматического отключения должников и "уперся" в самом начале. Код: import java.io.*; import java.net.*; import bitel.billing.server.util.telnet.*; TelnetSession t1 = new TelnetSession("192.168.1.1", 6000); try {t1.connect();} catch (IOException e) {print("Connection Error");}; print ("END"); Соединение с сервером при выполнении скрипта происходит, это видно через "netstat -a". Пишет 192.168.1.1:6000 ESTABLISHED. Но дальше скрипт не выполняется. Лога выполнения нет. В server.log и server.error.log записей нет. |
Автор: | stark [ 16 авг 2010, 18:35 ] |
Заголовок сообщения: | Re: Telnet |
stanislav писал(а): Помогите, пожалуйста, разобраться с телнетом. Хотел написать скрипт для автоматического отключения должников и "уперся" в самом начале. Код: import java.io.*; import java.net.*; import bitel.billing.server.util.telnet.*; TelnetSession t1 = new TelnetSession("192.168.1.1", 6000); try {t1.connect();} catch (IOException e) {print("Connection Error");}; print ("END"); Соединение с сервером при выполнении скрипта происходит, это видно через "netstat -a". Пишет 192.168.1.1:6000 ESTABLISHED. Но дальше скрипт не выполняется. Лога выполнения нет. В server.log и server.error.log записей нет. скрипт скорее всего висит, ожидая конечного символа . соединитесь в консоли и покажите что вам выводит telnet (какое приглашение ) . Берете последний символ( symbol ) , укажите его в t1.setEndString( symbol ); до вызова connect() .. Вообще у вас он по ходу выполнения может меняется и эту нужно отслеживать ..Скорее всего там вам вначале нужно ":" , потом вводите логин , потом снова ждете ":", потом вводите пароль , потом уже ждать "#" и т.п . Т.е каждый раз нужно в правильных местах ставить setEndString. Если символ не меняется (обычно при вводе команд в конце всегда # ) , то можно уже не указывать setEndString. И еще бывают ньюансы при работе с конкретным оборудованием . например mikrotik очень любит использовать команды для форматирования ansi-терминала - они вырезаются , но там нет чёткого конечного символа Приходится использовать setRegexp. |
Автор: | stanislav [ 17 авг 2010, 12:18 ] |
Заголовок сообщения: | Re: Telnet |
Дело в том, что я подключаюсь не к телнет серверу, а АТС (HUAWEI C&C08). Приглашение не выводиться вообще. В терминале сразу после комманды telnet 192.168.1.1 6000 нужно ввести LGI:OP=****, PWD=****; И станция выводит ответное сообщение заканчивающееся ---END. А в следующей строке только маркер. Я поставил t1.setEndString( "" );. Скрипт прошел до конца, и в логах появился отчет о выполнении. Спасибо за консультацию. |
Автор: | stark [ 17 авг 2010, 13:29 ] |
Заголовок сообщения: | Re: Telnet |
stanislav писал(а): Дело в том, что я подключаюсь не к телнет серверу, а АТС (HUAWEI C&C08). Приглашение не выводиться вообще. В терминале сразу после комманды telnet 192.168.1.1 6000 нужно ввести LGI:OP=****, PWD=****; И станция выводит ответное сообщение заканчивающееся ---END. А в следующей строке только маркер. Я поставил t1.setEndString( "" );. Скрипт прошел до конца, и в логах появился отчет о выполнении. Спасибо за консультацию. занятно ..с отсутствием строки приглашения я еще не сталкивался . Наверное они специально заточили так чтобы было удобнее программно управлять . mikrotik в этом плане ,наоборот , менее всех приспособлен для управления по telnet программным способом |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |