From: ednotover on
Chris wrote:

> It would *appear* from using debug in a real FTP client
> and turning on Net::Cmd debugging that the real FTP client sends an
> 'EPSV' command just before each 'get' on a TSO dataset. Trying to
> simulate this behavior using Net::FTP doesn't seem to do the job.

Net::FTP states:

Net::FTP is a class implementing a simple FTP client in Perl as
described in RFC959. It provides wrappers for a subset of the RFC959
commands.

EPSV and EPRT came along in RFC2428. So I'd assume they're not
supported in Net::FTP. And that seems to be true based on your debug
log:

> Net::FTP=GLOB(0x87846d0)>>> EPSV
> Net::FTP=GLOB(0x87846d0)<<< 229 Entering Extended Passive Mode (|||1875|)
> Net::FTP=GLOB(0x87846d0)>>> PORT 172,17,4,47,4,80
> Net::FTP=GLOB(0x87846d0)<<< 200 Port request OK.

Note that Net::FTP is following your EPSV request with a PORT, not
EPRT.

/usr/ceo wrote:

> I just tried this from a Windows machine, and IT WORKED using Net::FTP.

Are you using the same version Net::FTP in both places? What does the
Net::FTP debug show from Windows?

Ed