|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Vadim Tzirulnicov 2:5020/400 27 Nov 2004 14:47:10 To : All Subject : Net::HMTL требует открытыми порты 40000-65535 ! -------------------------------------------------------------------------------- Почему Net::FTP требует открытыми порты 40000-65535 ? В брандмауере разрешены соединения от нас к лююбым портам любого сервера, а также из вне к нам по портам ftp/ftp-data (20/21). Так скрипт в нижеприведённом примере вешается на команде $ftp->dir и вскоре выходит по таймауту. Как будто канал ftp-data закрыт. Исследуя подключения скрипта, выяснил, что он при запуске садится на произвольный порт из диапазона 40000-65535 (примерно), и если он закрыт, то канал ftp-data не работает. Разумеется, что консольный и иные ftp-клиенты на той же машины, чо и скрипт, нормально отрабатываются. Во тот самый пример: #!/usr/bin/perl use Net::FTP; $ftp = Net::FTP->new("possum.ints.ru", Debug => 0) or die "Cannot connect to some.host.name: $@"; $ftp->login("anonymous",'-anonymous@') or die "Cannot login ", $ftp->message; $ftp->cwd() or die "Cannot change working directory ", $ftp->message; foreach ($ftp->dir){ print $_."-\n"; } $ftp->quit; У меня Perl 5.8.0. Пробовал пассивные соединения применять (а вдруг поможет ?) - без результатов. --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/657721bcfb9e.html, оценка из 5, голосов 10
|