2022-08-24

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

注意:Python2.7.18(含) 之後才支援加密連線。
 
  1.  
  2. import sys
  3. from ftplib import FTP_TLS
  4. import ssl
  5.  
  6.  
  7. sFTPhost = '主機網址/IP'
  8. sFTPuser = '帳號'
  9. sFTPpwd = '密碼'
  10.  
  11.  
  12. # 加密連線
  13. ftps = FTP_TLS(sFTPhost)
  14. # ftps.set_debuglevel(2) # To show logs
  15. ftps.ssl_version = ssl.PROTOCOL_TLSv1_2 # 調整為您自己的加密協定
  16. ftps.set_pasv(True)
  17. ftps.encoding = 'utf-8' # 預設是 latin-1 字元, 版本 3.9 之後預設才是 utf-8
  18. ftps.login(sFTPuser, sFTPpwd)
  19.  
  20. ftps.cwd("/dir1/dir11") # 切換在 server 的目錄
  21. lstFTPfile = ftps.nlst() # 列出所有檔案
  22. for sFTPfile in lstFTPfile:
  23. if ('.jpg' in sFTPfile):
  24. print('sFTPfile = ' + sFTPfile)
  25.  
  26. localfile = open(sFTPfile,'wb') # 本地端要儲存的檔案
  27. ftps.retrbinary('RETR ' + sFTPfile, localfile.write) # 下載檔案
  28. localfile.close()
  29.  
  30.  
  31. # 上傳檔案
  32. localfile = open(sFTPfile,'rb')
  33. ftps.cwd("/dir1/dir12") # 切換在 server 的目錄
  34. ftps.storbinary('STOR '+sFTPfile, localfile)
  35.  
  36. break
  37. ftps.quit
  38.  


沒有留言:

張貼留言