#!/usr/local/bin/perl
use Net::INET6Glue;
use Net::FTP;
$username='anonymous';
$password='sisis@oclc.org';
$directory='pub';
$filename='file';
$ipaddr='::1';
# $ipaddr='fe80::250:56ff:feb6:5310%eth0';
$ftp = Net::FTP->new($ipaddr, Debug=>1, Passive=>1)
or die "Can't connect: $@\n";
$ftp->login($username, $password)
or die "Couldn't login\n";
$ftp->cwd($directory)
or die "Couldn't change directory\n";
@lines = $ftp->ls()
or die "Couldn't list dir\n";
foreach $file (@lines) {
print "file: $file\n";
}
$ftp->get($filename)
or die "Couldn't get $filename\n";
$ftp->quit()
or die "Couldn't quit\n";
exit;
####
./ftp.pl
Net::FTP>>> Net::FTP(2.77)
Net::FTP>>> Exporter(5.66)
Net::FTP>>> Net::Cmd(2.29)
Net::FTP>>> IO::Socket::INET(1.33)
Net::FTP>>> IO::Socket(1.34)
Net::FTP>>> IO::Handle(1.33)
Net::FTP=GLOB(0x83b0060)<<< 220 FTP on srV41pl2ap01dxoh
Net::FTP=GLOB(0x83b0060)>>> USER anonymous
Net::FTP=GLOB(0x83b0060)<<< 331 Please specify the password.
Net::FTP=GLOB(0x83b0060)>>> PASS ....
Net::FTP=GLOB(0x83b0060)<<< 230 Login successful.
Net::FTP=GLOB(0x83b0060)>>> CWD pub
Net::FTP=GLOB(0x83b0060)<<< 250 Directory successfully changed.
Net::FTP=GLOB(0x83b0060)>>> EPSV
Net::FTP=GLOB(0x83b0060)<<< 229 Entering Extended Passive Mode (|||40081|)
Net::FTP=GLOB(0x83b0060)>>> NLST
Net::FTP=GLOB(0x83b0060)<<< 150 Here comes the directory listing.
Net::FTP=GLOB(0x83b0060)<<< 226 Directory send OK.
file: file
file: tr
Net::FTP=GLOB(0x83b0060)>>> EPSV
Net::FTP=GLOB(0x83b0060)<<< 229 Entering Extended Passive Mode (|||40094|)
Net::FTP=GLOB(0x83b0060)>>> RETR file
Net::FTP=GLOB(0x83b0060)<<< 150 Opening BINARY mode data connection for file (12 bytes).
Net::FTP=GLOB(0x83b0060)<<< 226 File send OK.
Net::FTP=GLOB(0x83b0060)>>> QUIT
Net::FTP=GLOB(0x83b0060)<<< 221 Goodbye.
####
./ftp.pl
Net::FTP>>> Net::FTP(2.77)
Net::FTP>>> Exporter(5.66)
Net::FTP>>> Net::Cmd(2.29)
Net::FTP>>> IO::Socket::INET(1.33)
Net::FTP>>> IO::Socket(1.34)
Net::FTP>>> IO::Handle(1.33)
Net::FTP=GLOB(0x83b0050)<<< 220 FTP on srV41pl2ap01dxoh
Net::FTP=GLOB(0x83b0050)>>> USER anonymous
Net::FTP=GLOB(0x83b0050)<<< 331 Please specify the password.
Net::FTP=GLOB(0x83b0050)>>> PASS ....
Net::FTP=GLOB(0x83b0050)<<< 230 Login successful.
Net::FTP=GLOB(0x83b0050)>>> CWD pub
Net::FTP=GLOB(0x83b0050)<<< 250 Directory successfully changed.
Net::FTP=GLOB(0x83b0050)>>> EPSV
Net::FTP=GLOB(0x83b0050)<<< 229 Entering Extended Passive Mode (|||40057|)
Net::FTP=GLOB(0x83b0050)>>> NLST
####
./ftp.pl
Net::FTP>>> Net::FTP(2.77)
Net::FTP>>> Exporter(5.66)
Net::FTP>>> Net::Cmd(2.29)
Net::FTP>>> IO::Socket::INET(1.33)
Net::FTP>>> IO::Socket(1.34)
Net::FTP>>> IO::Handle(1.33)
Net::FTP=GLOB(0x83b0050)<<< 220 FTP on srV41pl2ap01dxoh
Net::FTP=GLOB(0x83b0050)>>> USER anonymous
Net::FTP=GLOB(0x83b0050)<<< 331 Please specify the password.
Net::FTP=GLOB(0x83b0050)>>> PASS ....
Net::FTP=GLOB(0x83b0050)<<< 230 Login successful.
Net::FTP=GLOB(0x83b0050)>>> CWD pub
Net::FTP=GLOB(0x83b0050)<<< 250 Directory successfully changed.
Can't call method "sockdomain" on an undefined value at /usr/local/sisis-pap/perl5.16.2/lib/site_perl/5.16.2/Net/INET6Glue/FTP.pm line 33.
####
bind(4, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6, "fe80::250:56ff:feb6:5310", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINVAL (Invalid argument)