Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> получение файлов по FTPSSL 
:(
    Опции темы
bamper
Дата 24.7.2008, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 31.3.2008

Репутация: нет
Всего: нет



Ребята, подскажите что не так с скриптом. Скрипт возращает только один файл, а не все. 

Код

    use Net::FTPSSL;
    my $ftps = Net::FTPSSL->new('ftpssl.blablabla.net', 
                              Port => 21,
                              Encryption => 'E',
                              Debug => 1) 
    or die "Can't open connection to FTP Server";

    $ftps->login('login', 'password') or die "Can't login: ", $ftps->$last_message();

    my $file;
    my @filelist =  $ftps->nlst("folder") or die "Can't get filelist ", $ftps->last_message;
    my $fileCount =  $ftps->nlst("folder");
    $ftps->cwd("/folder") or die "Can't change directory: ", 

    $ftps->binary;
    foreach $file (@filelist)
    {    
        $file =~ s#folder/##g;
        $ftps->get($file,$file) or die "Can't get file: ", $ftps->last_message;
    }
    $ftps->quit();


мдя... полсотни просмотров - ни одного ответа... хоть бы кто-то посочувствовал...

Это сообщение отредактировал(а) bamper - 24.7.2008, 23:21
PM MAIL   Вверх
shamber
Дата 25.7.2008, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



 smile посочувствовал

ЗЫ по коду
зачем  
Код

my $fileCount =  $ftps->nlst("folder");
 если можно просто 
Код

 my @filelist =  $ftps->nlst("folder") or die "Can't get filelist ", $ftps->last_message;
   my $fileCount =  @filelist;



Это сообщение отредактировал(а) shamber - 25.7.2008, 11:26
PM MAIL Jabber   Вверх
bamper
Дата 25.7.2008, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 31.3.2008

Репутация: нет
Всего: нет



та count роли не играет. это мелочь...
PM MAIL   Вверх
korob2001
Дата 25.7.2008, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Цитата

$ftps->login('login', 'password') or die "Can't login: ", $ftps->$last_message();

Global symbol "$last_message" requires explicit package name at Untitled line 10.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
bamper
Дата 25.7.2008, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 31.3.2008

Репутация: нет
Всего: нет



Цитата(korob2001 @ 25.7.2008,  22:33)
Цитата

$ftps->login('login', 'password') or die "Can't login: ", $ftps->$last_message();

Global symbol "$last_message" requires explicit package name at Untitled line 10.

с last message проблем у меня нету. да и убрать их совсем можно. вот что мое возращает: 
 
Код

>>> PROT P
<<< 200 PROT P successful. Data channel will be protected.
>>> PASV
<<< 227 Entering Passive Mode (150,105,62,17,190,236)
>>> RETR file.txt
<<< 150 Opening BINARY mode data connection.
<<< 226 Transfer complete.
>>> TYPE I
Use of uninitialized value in substr at C:/Perl/site/lib/Net/FTPSSL.pm line 685.
Argument "" isn't numeric in numeric eq (==) at C:/Perl/site/lib/Net/FTPSSL.pm line 573.
>>> PBSZ 0
Use of uninitialized value in substr at C:/Perl/site/lib/Net/FTPSSL.pm line 685.
Argument "" isn't numeric in numeric eq (==) at C:/Perl/site/lib/Net/FTPSSL.pm line 555.
>>> PROT P
Use of uninitialized value in substr at C:/Perl/site/lib/Net/FTPSSL.pm line 685.
Argument "" isn't numeric in numeric eq (==) at C:/Perl/site/lib/Net/FTPSSL.pm line 549.
>>> PASV
Use of uninitialized value in concatenation (.) or string at C:/Perl/site/lib/Net/FTPSSL.pm line 13
.
Use of uninitialized value in substr at C:/Perl/site/lib/Net/FTPSSL.pm line 136.
Argument "" isn't numeric in numeric eq (==) at C:/Perl/site/lib/Net/FTPSSL.pm line 136.
Can't set passive mode! at FTPSSL.pl line 28


line 28 - это:
    $ftps->get($file,$file) or die "Can't get file: ", $ftps->last_message;
PM MAIL   Вверх
korob2001
Дата 26.7.2008, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Посмотри что содержит массив @filelist после этой строки:
Код

my @filelist =  $ftps->nlst("folder") or die "Can't get filelist ", $ftps->last_message;

т.е.
Код

print qq[\"@{[join("\",\"",@filelist)]}\"\n];

Убедись, что в нём содержится именно то, что ты ожидал. Кавычки вокруг элементов я создал, для того, что бы было видно невидимые символы, такие как пробелы.

PS: Если знаешь какой-нить открытый сервер FTP, работающий по защищённому каналу, дай ссылку. Просто тестировать мне негде.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
bamper
Дата 26.7.2008, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 31.3.2008

Репутация: нет
Всего: нет



Цитата(korob2001 @ 26.7.2008,  11:45)
Код

print qq[\"@{[join("\",\"",@filelist)]}\"\n];


выводит следующее:
Код

","folder/file.txt

следующий код выводит список всех файлов:
Код

    foreach $file (@filelist)
    {    
    print "$file \n";
    }

список правильный и как бы все должно работать...

ps: фришного ftp ssl сервера незнаю :(
PM MAIL   Вверх
Egik2
Дата 29.7.2008, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 302
Регистрация: 29.7.2008
Где: Агудзера

Репутация: 1
Всего: 11



А этот ftpssl нормально работает? А то я не могу разобраться с sftp, как разорвать соединение.Вот подумываю перейти на ftpssl. С ним таких проблем нет? И что нужно на серверной стороне, чтобы он работал, какие установки, а то для sftp нужен только sshd.


--------------------
Три великие добродетели программиста: лень, нетерпение и самомнение (Larry Wall)
a-nav.com
developer-blog.ru
world-poetry.org
PM MAIL WWW ICQ   Вверх
bamper
Дата 29.7.2008, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 31.3.2008

Репутация: нет
Всего: нет



Цитата(Egik2 @ 29.7.2008,  16:50)
А этот ftpssl нормально работает? А то я не могу разобраться с sftp, как разорвать соединение.Вот подумываю перейти на ftpssl. С ним таких проблем нет? И что нужно на серверной стороне, чтобы он работал, какие установки, а то для sftp нужен только sshd.

работает нормально. файлы тянет. связь рвет. только вот списком у меня не получаеться - ну может у Вас получиться. со стороны сервера незнаю что должно быть. 
дополнительную информацию можна найти на cpan тут. 
PM MAIL   Вверх
Egik2
Дата 30.7.2008, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 302
Регистрация: 29.7.2008
Где: Агудзера

Репутация: 1
Всего: 11



Советую посмотреть на модуль Net::SFTP::Foreign, если что то не получается, а надо организовать пересылку файлов. Пока в cpan про него написано то что надо. Пытаюсь разобраться.


--------------------
Три великие добродетели программиста: лень, нетерпение и самомнение (Larry Wall)
a-nav.com
developer-blog.ru
world-poetry.org
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0490 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.