I am having problems using ftp to down load objects from zope using python ftplib module. I appear to get authorized ok but then keep getting the message 530 Unauthorized when any ftp command is used. I can login as the same user using interactive ftp and download the same object. Thanks in advance for any advice/help. Gene Tuttle here is the debug information: Downloading Request.2004-07-08.0254375768 *get* '220 mplssrv2.rottlundhomes.com FTP server (Medusa Async V1.23 [experiment al]) ready.\r\n' *resp* '220 mplssrv2.rottlundhomes.com FTP server (Medusa Async V1.23 [experimen tal]) ready.' *cmd* 'USER cettuttle' *put* 'USER cettuttle\r\n' *get* '331 Password required.\r\n' *resp* '331 Password required.' *cmd* 'PASS ********' *put* 'PASS ********\r\n' *get* '230 Login successful.\r\n' *resp* '230 Login successful.' *cmd* 'CWD .' *put* 'CWD .\r\n' *get* '530 Unauthorized.\r\n' *resp* '530 Unauthorized.' Traceback (most recent call last): File "M:\Projects\PythonScripts\getfile.py", line 43, in ? if __name__ == '__main__': getfile() File "M:\Projects\PythonScripts\getfile.py", line 36, in getfile remote.cwd(dire) File "C:\Python23\lib\ftplib.py", line 494, in cwd return self.voidcmd(cmd) File "C:\Python23\lib\ftplib.py", line 246, in voidcmd return self.voidresp() File "C:\Python23\lib\ftplib.py", line 221, in voidresp resp = self.getresp() File "C:\Python23\lib\ftplib.py", line 214, in getresp raise error_perm, resp ftplib.error_perm: 530 Unauthorized. The script I am using: #!/usr/local/bin/python ###################################################################### # # Script to download all of the requests form web sites # ###################################################################### import os from ftplib import FTP from os.path import exists file = 'Request.2004-07-08.0254375768' site = 'mplssrv2' port = 8321 dire = '' user = ('cettuttle', '********') def getfile(file=file, site=site, dire=dire, user=user, verbose=1, force=0): """ fetch a file by ftp for a site/directory anonymous or real login, binary transfer """ if exists(file) and not force: if verbose: print file, 'already fetched' else: if verbose: print 'Downloading', file local = open(file, 'wb') try: remote = FTP() remote.set_debuglevel(2) remote.connect(site, port) apply(remote.login, user) remote.cwd(dire) <---line 36 remote.retrbinary('RETR ' + file, local.write, 1024) remote.quit() finally: local.close() if verbose: print 'Download done. ' if __name__ == '__main__': getfile()