Tutorial 3: FTP¶
This sections shows several examples how to use FTP client.
API¶
Module hydratk.lib.network.ftp.client.
Method FTPClient is factory method which requires attribute engine to create proper FTPClient object instance. Additional attributes are passed as args, kwargs.
Supported protocols:
FTP/FTPS: module ftp_client
SFTP/SFTP: module sftp_client
TFTP: module tftp_client
Note
FTPS is not supported for version Py2.6.
Methods:
connect: connect to server
disconnect: disconnect from server (FTP, SFTP)
list_dir: get directory content (FTP, SFTP)
change_dir: change remote directory (FTP, SFTP)
download_file: download file from server
upload_file: upload file to server
delete_file: delete file on server (FTP, SFTP)
make_dir: make directory on server (FTP, SFTP)
remove_dir: remove directory from server (FTP, SFTP)
Note
API uses HydraTK core functionalities so it must be running.
FTP¶
# import library from hydratk.lib.network.ftp.client import FTPClient as ftp # initialize client client = ftp('ftp') # connect to FTP server # returns bool client.connect(host='srv8.endora.cz', user='aaa', passw='bbb') # change directory # returns bool client.change_dir('/lynus.cekuj.net/web') # get directory content # returns file and directory names names = client.list_dir() # download file from server # returns bool client.download_file('/lynus.cekuj.net/web/index.php') # upload file to server # returns bool client.upload_file('index2.php', '/lynus.cekuj.net/web') # delete file from server # returns bool client.delete_file('index2.php') # make directory on server # returns bool client.make_dir('pokus2') # remove directory from server # returns bool client.remove_dir('pokus2') # disconnect from server # returns bool client.disconnect()Note
FTPS client is initialized using constructor attribute secured=True.
SFTP¶
# import library from hydratk.lib.network.ftp.client import FTPClient as ftp # initialize client client = ftp.FTPClient('sftp') # connect to SFTP server using password, certificate client.connect(host='127.0.0.1', port=22, user='aaa', passw='bbb') client.connect(host='127.0.0.1', port=22, user='aaa', cert='/home/lynus/key.pri') # change dicrector # returns bool client.change_dir('/appl/home/x0549396/portal') # get directory content # returns files and directory names client.list_dir() # download file from server # returns bool client.download_file('response.xml') # upload file to server # returns bool client.upload_file('index.php', '/appl/home/portal') # delete file from server # returns bool client.delete_file('index.php') # make directory on server # returns bool client.make_dir('pokus2') # remove directory from server # returns bool client.remove_dir('pokus2') # disconnect from server # returns bool client.disconnect()
TFTP¶
# import library from hydratk.lib.network.ftp.client import FTPClient as ftp # initialize client client = ftp.FTPClient('tftp') # connect to TFTP server # returns bool client.connect(host='0.0.0.0') # download file from server # returns bool client.download_file('/doc/bdd.txt2') # upload file to server # returns bool client.upload_file('pok.txt', '/doc2')