The GUI uses
While the script does not know the attributes of the file, so it asks for them using the
MLSD
to retrieve the file list (which I assume works). When you then select a file to download, it does not need to read its attributes again, as it knows them from the listing.
While the script does not know the attributes of the file, so it asks for them using the
MLST
command. For some reasons, your FTP server fails that.