2022-08-24

【Python3】FTP_TLS -- 加密連線客戶端應用

注意:Python2.7.18(含) 之後才支援加密連線。
 
 
import sys
from ftplib import FTP_TLS
import ssl


sFTPhost = '主機網址/IP'
sFTPuser = '帳號'
sFTPpwd = '密碼'


# 加密連線
ftps = FTP_TLS(sFTPhost)
# ftps.set_debuglevel(2)  # To show logs
ftps.ssl_version = ssl.PROTOCOL_TLSv1_2    # 調整為您自己的加密協定
ftps.set_pasv(True)
ftps.encoding = 'utf-8'    # 預設是 latin-1 字元, 版本 3.9 之後預設才是 utf-8
ftps.login(sFTPuser, sFTPpwd)

ftps.cwd("/dir1/dir11") # 切換在 server 的目錄
lstFTPfile = ftps.nlst()  # 列出所有檔案
for sFTPfile in lstFTPfile:
    if ('.jpg' in sFTPfile):
        print('sFTPfile = ' + sFTPfile)

        localfile = open(sFTPfile,'wb')   # 本地端要儲存的檔案
        ftps.retrbinary('RETR ' + sFTPfile, localfile.write) # 下載檔案
        localfile.close()


        # 上傳檔案
        localfile = open(sFTPfile,'rb')
        ftps.cwd("/dir1/dir12") # 切換在 server 的目錄
        ftps.storbinary('STOR '+sFTPfile, localfile)

        break
ftps.quit
 


沒有留言:

張貼留言