Size: a a a

2021 March 12

IA

Ilya Aksyonov in Modern::Perl
Askar Timirgazin
там авторизация какая-то?
да, телнет после коннекшена запрашивает username
источник

AT

Askar Timirgazin in Modern::Perl
источник

W

Warstone in Modern::Perl
Ilya Aksyonov
Коллеги, помогите решить задачку, нужно через скрипт призвести подключение через telnet

 
open TELNET, "-|", '/usr/bin/telnet 210.10.60.5 23';
while (<TELNET>) {
    print ">>>> $_";
}


Получаю в консоли такой вывод:
>>>> Trying 210.10.60.5...
>>>> Connected to 210.10.60.5.
>>>> Escape character is '^]'.
>>>>
>>>>
>>>> User Access Verification
>>>>

Вопрос, куда девается запрос Username? Те если ввести команду в консоли получаем:
Trying 210.10.60.5...
Connected to 210.10.60.5.
Escape character is '^]'.


User Access Verification

Username:
Отвечая на ваш вопрос: while(<HANDLE>) читает по записям. Терминатор записи является то, что вы передаете в $\ по умолчанию там \n. Скорее всего у вас строке Username: нету \n.

Чтобы решить это вопрос вы можете поставить $\ = undef. И собирать то что пишут самим (в вашем случае новая строка для вас будет или то, что до первого \n или если прошло больше х времени, допустим)
источник

W

Warstone in Modern::Perl
Но записать в папйп, открытый как -|, у вас не получится. Читайте про open3
источник

AP

Anton Petrusevich in Modern::Perl
правильно использовать либо модуль телнета, либо модуль экспекта
источник

AP

Anton Petrusevich in Modern::Perl
источник

AT

Askar Timirgazin in Modern::Perl
Anton Petrusevich
правильно использовать либо модуль телнета, либо модуль экспекта
как раз вспоминал, как эта программа называется
источник

W

Warstone in Modern::Perl
Anton Petrusevich
правильно использовать либо модуль телнета, либо модуль экспекта
Это да. Но офрмальный ответ на вопрос "а почему" именно такой.
источник

IA

Ilya Aksyonov in Modern::Perl
Спасибо за комментарии!
источник

AP

Anton Petrusevich in Modern::Perl
я видел в проде автоматизацию создания зип-архива с паролем через экспект
источник

AP

Anton Petrusevich in Modern::Perl
был удивлён, проверил перловые модули — действительно не умели
источник

AP

Anton Petrusevich in Modern::Perl
где-то тут  я это года три с половиной назад описывал вместе с багом, что пофиксил...
источник

AK

Andrey Konovalov in Modern::Perl
Если кому интересно, на MSWin32 AnyEvent заставить работать внутри threads (а значит и воркеров MCE::Map) можно только для нативного AnyEvent::Loop
источник

AK

Andrey Konovalov in Modern::Perl
Слегка был удивлен, но MCE::Map использует threads на MSWin32 практически принудительно
источник

b

basiliscos in Modern::Perl
треды, win32, AE. У тебя всё нормально? ;)
источник

DB

Dmitry Bondarev in Modern::Perl
Ivan Bessarabov
но мне кажется более верным идея не использовать telnet, а руками засылать туда данные
telnet, rsync - давно уже не комильфо, "ssh и только..."
источник

IB

Ivan Bessarabov in Modern::Perl
Dmitry Bondarev
telnet, rsync - давно уже не комильфо, "ssh и только..."
А что вместо rsync нужно использовать?
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
Ilya Aksyonov
Коллеги, помогите решить задачку, нужно через скрипт призвести подключение через telnet

 
open TELNET, "-|", '/usr/bin/telnet 210.10.60.5 23';
while (<TELNET>) {
    print ">>>> $_";
}


Получаю в консоли такой вывод:
>>>> Trying 210.10.60.5...
>>>> Connected to 210.10.60.5.
>>>> Escape character is '^]'.
>>>>
>>>>
>>>> User Access Verification
>>>>

Вопрос, куда девается запрос Username? Те если ввести команду в консоли получаем:
Trying 210.10.60.5...
Connected to 210.10.60.5.
Escape character is '^]'.


User Access Verification

Username:
некторые телнеты умеют сами передавать login
источник

DF

Denis F in Modern::Perl
Ivan Bessarabov
А что вместо rsync нужно использовать?
scp -r вестимо
источник

SZ

Sergey Zhmylove in Modern::Perl
basiliscos
треды, win32, AE. У тебя всё нормально? ;)
Если коротко: нет
источник