FTPES - Python 中通过显式 TLS/SSL 的 FTP

2022-01-09 00:00:00 python tcp ftp ftpes

问题描述

我需要一个 python 客户端来执行 FTPES(显式),有没有人使用任何可以执行此操作的 python 包的经验.

I need a python client to do FTPES (explicit), does anyone has experience with any python package that can do this.

我无法在 python 中执行此操作,但可以使用 FileZilla 等工具连接到 FTP 服务器

I am not able to do this in python, but can connect to FTP server using tools like FileZilla

谢谢


解决方案

本地 Python 很好地支持 FTP-SSL Explicit.建立连接后,您可以使用所有标准的 ftplib 命令.更多可以在以下位置找到:http://docs.python.org/2/library/ftplib.html#ftplib.FTP_TLS

FTP-SSL Explicit is well supported by native Python. After setting up the connection, you can use all the standard ftplib commands. More can be found at: http://docs.python.org/2/library/ftplib.html#ftplib.FTP_TLS

这是一个下载文件的基本示例:

Here's a basic example for downloading a file:

from ftplib import FTP_TLS
ftps = FTP_TLS('ftp.MySite.com')
ftps.login('testuser', 'testpass')           # login anonymously before securing control channel
ftps.prot_p()          # switch to secure data connection.. IMPORTANT! Otherwise, only the user and password is encrypted and not all the file data.
ftps.retrlines('LIST')

filename = 'remote_filename.bin'
print 'Opening local file ' + filename
myfile = open(filename, 'wb')

ftps.retrbinary('RETR %s' % filename, myfile.write)

ftps.close()

相关文章