[Info-vax] basic FTP client for OpenVMS from Windows.
Arne Vajhøj
arne at vajhoej.dk
Fri Jan 15 13:14:59 EST 2021
On 1/14/2021 10:08 AM, Hein RMS van den Heuvel wrote:
> Hi folks, what is the current recommendation for an FTP client to be used on Windows exchanging files with OpenVMS (Itanium).
>
> Personally I have an old WS_FTP Pro which suits me fine.
> And the FTP on my Windows 10 Pro laptop works fine also.
> So in my own office I am good, but not on my current customer site.
>
> Their older Windows FTPs (here Windows Server 2016) do not work.
> You can connect, but they hang transferring.
> I believe this is because they do not support PASSIVE mode, not even with "quote pasv" which is accepted but has no useful effect.
>
> I downloaded WinSCP 5.17.9 which seems fine at first as it displays my files, but when it comes to fetch a file barfs with a poorly constructed name on OpenVMS:
>>>> Failed to parse specification /DISK1:[xxx.USER.yyyyyy]/NAV_19.LOG
> file specification syntax error
> Obviously there are one or two well intended but erroneous forward slashes in that specification.
>
> The customer is expected to configure FileZilla for me, which will be fine.
>
> What other options do folks like?
>
> Is there a simple commandline FTP.EXE?
> That has my preference over GUI tools.
>
> Just fetching that image from Windows 10 and running it does not work.
> Hints to make that work?
You already got some answers. But here is my take.
First if GUI is desired then FileZilla is pretty good. Note though that
I have had problems VMS->Windows where it keeps version numbers.
The command line FTP client that comes with Windows is scriptable.
Example:
ftp -s:test.ftp 192.168.0.10
where test.ftp contains:
arne
secretpassword
get login.com login1.txt
quit
But most scripting languages will contain FTP capabilities.
Python:
from ftplib import FTP
vmssys = FTP('192.168.0.10')
vmssys.login('arne', 'secretpassword')
with open('login2.txt', 'w') as fp:
vmssys.retrlines('RETR LOGIN.COM', lambda s: fp.write(s + '\n'))
vmssys.quit()
Groovy with Commons Net:
import org.apache.commons.net.ftp.FTPClient
FTPClient vmssys = new FTPClient()
vmssys.connect("192.168.0.10")
vmssys.login("arne", "secretpassword")
vmssys.enterLocalPassiveMode()
try (os = new FileOutputStream("login3.txt")) {
vmssys.retrieveFile("LOGIN.COM", os)
}
vmssys.disconnect()
All 3 should use PASV.
I am sure PowerShell can do FTP - unfortunately I don't know PS.
Arne
More information about the Info-vax
mailing list