<body>when i execute the script with debug option set following is the output
Net::FTP: Net::FTP(2.65)
Net::FTP: Exporter(5.567)
Net::FTP: Net::Cmd(2.21)
Net::FTP: IO::Socket::INET(1.26)
Net::FTP: IO::Socket(1.27)
Net::FTP: IO::Handle(1.21)
Net::FTP=GLOB(0x82b0570)<<< 220 ftp FTP server (Version wu-2.6.2-5) ready.
Net::FTP=GLOB(0x82b0570)>>> user *****
Net::FTP=GLOB(0x82b0570)<<< 331 Password required for *****.
Net::FTP=GLOB(0x82b0570)>>> PASS ....
Net::FTP=GLOB(0x82b0570)<<< 230 User ***** logged in. Access restrictions apply. Net::FTP=GLOB(0x82b0570)>>> CWD /
Net::FTP=GLOB(0x82b0570)<<< 250 CWD command successful.
Net::FTP=GLOB(0x82b0570)>>> TYPE A
Net::FTP=GLOB(0x82b0570)<<< 200 Type set to A.
Net::FTP=GLOB(0x82b0570)>>> PASV
Net::FTP=GLOB(0x82b0570)<<< 227 Entering Passive Mode (***,***,***,**,***,***)
Net::FTP=GLOB(0x82b0570)>>> STOR oldkamsApplicationLog.txt
Net::FTP=GLOB(0x82b0570)<<< 425 Can't open data connection
thanx
kamesh
</body>
| [reply] |
my code is here
sub FtpToDCLKServer(\%$\$\$) {
my $V_ConfigHashRef = shift;
my $V_LocalFile = shift;
my $V_RemoteFileNameRef = shift;
my $V_RemoteFileSizeRef = shift;
my $V_CurrentDate = GetTheCurrentDate(); #get today's date
my $V_HostName = $V_ConfigHashRef->{FTPHostName}; #get ftp hostname from the hash
my $V_UserName = $V_ConfigHashRef->{FTPUserName}; #get ftp user name from the hash
my $V_Password = $V_ConfigHashRef->{FTPPassword}; #get ftp password from the hash
my $V_Directory = $V_ConfigHashRef->{FTPDir}; #get the ftp directory on to which we have to place the files
my $V_Ftp;
if ( $V_Ftp = Net::FTP->new($V_HostName) ) { #instantiate new ftp object
unless ($V_Ftp->login($V_UserName,$V_Password)) { #login to the ftp server
WriteToLogFile($V_CurrentDate,GetTheCurrentTime(),"Error","Could not login:$@");
return 0;
}
$V_Ftp->pasv(); #continue the session in passive mode
unless ($V_Ftp->cwd($V_Directory)) { #change the current working directory to $V_Directory
WriteToLogFile($V_CurrentDate,GetTheCurrentTime(),"Error","Could not change the current working directory to $V_Directory");
return 0;
}
unless($V_Ftp->ascii) { #transfer the data in ascii mode
WriteToLogFile($V_CurrentDate,GetTheCurrentTime(),"Error","Could not change to ASCII mode");
return 0;
}
unless ($$V_RemoteFileNameRef = $V_Ftp->put($V_LocalFile,"Curve_"."$V_CurrentDate"."\.dat")) { #upload the file
WriteToLogFile($V_CurrentDate,GetTheCurrentTime(),"Error","$V_Ftp->message");
return 0;
}
$$V_RemoteFileSizeRef = $V_Ftp->size($$V_RemoteFileNameRef);
$V_Ftp->close(); #close the ftp session
}else {
WriteToLogFile($V_CurrentDate,GetTheCurrentTime(),"Error","Could not connect:$@");
return 0;
}
return 1;
}
thanx
kamesh
| [reply] |
You don't say whether you are seeing this problem on every connection you make, or just those at one server?
I'm no ftp expert, but I'd try your code without the call to pasv() and see how you get on?
Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"Think for yourself!" - Abigail
"Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon
| [reply] |