1
爲什麼我的程序不工作?它拒絕連接到主機,我試過兩個不同的服務器,並驗證使用哪個端口。 請注意,就Perl而言,我並不是很有經驗。使用Perl編寫的FTP應用程序無法連接
use strict;
use Net::FTP;
use warnings;
my $num_args = $#ARGV+1;
my $filename;
my $port;
my $host;
my $ftp;
if($num_args < 2)
{
print "Usage: ftp.pl host [port] file\n";
exit();
}
elsif($num_args == 3)
{
$port = $ARGV[1];
$host = $ARGV[0];
$filename = $ARGV[2];
print "Connecting to $host on port $port.\n";
$ftp = Net::FTP->new($host, Port => $port, Timeout => 30, Debug => 1)
or die "Can't open $host on port $port.\n";
}
else
{
$host = $ARGV[0];
$filename = $ARGV[1];
print "Connecting to $host with the default port.\n";
$ftp = Net::FTP->new($host, Timeout => 30, Debug => 1)
or die "Can't open $host on port $port.\n";
}
print "Usename: ";
my $username = <>;
print "\nPassword: ";
my $password = <>;
$ftp->login($username, $password);
$ftp->put($filename) or die "Can't upload $filename.\n";
print "Done!\n";
$ftp->quit;
在此先感謝。
也許你應該詳細說明「不工作」部分。錯誤消息等。你怎麼知道它沒有連接? – TLP
沒有錯誤消息。闡述不應該是必要的,它不會連接。也就是說,Net :: FTP-> new()失敗。而已。 感謝您的回答。 – Griffin
Net :: FTP不能失敗,否則腳本會死掉。你到達用戶/密碼提示?你是否記得'chomp'用戶名和密碼? – TLP