Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   AutoIt VS Microsoft Telnet (http://forum.oszone.net/showthread.php?t=165432)

NewOLDi 28-01-2010 19:13 1332671

AutoIt VS Microsoft Telnet
 
Собственно, почему первое не дружит со вторым (чтение вывода из фирменной утилиты Telnet от Microsoft )? Очень интересно! В чём тонкости? И ведутся ли работы по устранению сего досадного недоразумения?

Помимо того, что AutoIt не способен читать поток из MS Telnet, так он мне ещё и пароль почему-то ввести не может нормально...

PHP код:

Run 'telnet x.x.x.x' )

WinWaitActive 'Telnet x.x.x.x' )

Send 'пароль{ENTER}' 

В итоге - пароль не принимается! И если тут же, повторно, ввести пароль вручную - видно, что первый пароль (введённый AutoIt) укоротился на один символ. КАК ТАК???

amel27 29-01-2010 04:49 1333068

NewOLDi, из заголовка не ясно, о чем речь - MS утилиту "telnet.exe" или сам протокол TELNET
касаемо первого: http://forum.oszone.net/post-948257-1116.html

NewOLDi 29-01-2010 09:07 1333169

amel27
Прошу прощения, заголовок и текст темы поправил, теперь всё должно быть понятным :)

Из Вашей ссылки также становится очевидным отсутствие возможности чтения потока из MS Telnet напрямую. Так что, вопрос остаётся открытым :)

ЗЫ: И почему, всё-таки, пароль вводится неправильно? Уж ввод то всё-равно в какое окно осуществлять, ан нет оказывается :(

kaster 29-01-2010 12:09 1333318

Цитата:

Цитата NewOLDi
И если тут же, повторно, ввести пароль вручную - видно, что первый пароль (введённый AutoIt) укоротился на один символ. КАК ТАК??? »

вот тут не совсем тебя понял. как ты смотришь введенные пароли? по идее история паролей в telnet не хранится. даже самого ввода не видно.
а по поводу скрипта, не знаю. у меня норм вводится все и заходит. только на тот сервер куда я подключался нужен юзернейм сначала. в твоем скрипте не вижу, где ты это вводишь. я делал вот так
Код:

Run ( 'telnet -l username x.x.x.x' )
WinWaitActive ( 'Telnet x.x.x.x' )
Send ( 'pass{ENTER}' )

все норм законектилось

NewOLDi 29-01-2010 13:18 1333382

Что касается неправильного ввода пароля через Send...
Дело было в том, что в пароле используются символы, приравниваемые в AutoIt к специальным. Пришлось использовать эту функцию два раза (1 - ввод пароля символами КАК ЕСТЬ, 2 - нажатие Enter):
PHP код:

Run 'telnet x.x.x.x' )
WinWaitActive 'Telnet x.x.x.x' )
Send 'Пароль')
Send '{ENTER}' 

Логичнее было бы использовать т.н. экранирование спецсимволов, но я так и не разобрался, каким образом это осуществляется и осуществляется ли вообще. В PHP мне в этом плане нравится различие между двойными кавычками и одинарными (в последних текст всегда воспринимается как есть, а в двойные можно пихать переменные).


Время: 16:21.

Время: 16:21.
© OSzone.net 2001-