当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python ftplib.FTP_TLS用法及代码示例

用法:

class ftplib.FTP_TLS(host='', user='', passwd='', acct='', keyfile=None, certfile=None, context=None, timeout=None, source_address=None, *, encoding='utf-8')

A ftplib.FTP将 TLS 支持添加到 FTP 的子类,如中所述RFC 4217.像往常一样连接到端口 21,在进行身份验证之前隐式保护 FTP 控制连接。保护数据连接需要用户通过调用prot_p()方法。context是一个ssl.SSLContext允许将 SSL 配置选项、证书和私钥捆绑到单个(可能是long-lived)结构中的对象。请阅读安全注意事项最佳实践。

keyfilecertfilecontext 的传统替代方案 - 它们可以分别指向 SSL 连接的 PEM-formatted 私钥和证书链文件。

3.2 版中的新函数。

在 3.3 版中更改:source_address添加了参数。

在 3.4 版中更改:该类现在支持主机名检查ssl.SSLContext.check_hostnameServer Name Indication(参考ssl.HAS_SNI)。

自 3.6 版起已弃用:keyfilecertfile不赞成使用context.请用ssl.SSLContext.load_cert_chain()相反,或者让ssl.create_default_context()为您选择系统的可信 CA 证书。

在 3.9 版中更改:如果timeout参数设置为零,它将引发ValueError以防止创建非阻塞套接字。这encoding添加了参数,并且默认从 Latin-1 更改为 UTF-8 以跟随RFC 2640.

这是使用FTP_TLS 类的示例会话:

>>> ftps = FTP_TLS('ftp.pureftpd.org')
>>> ftps.login()
'230 Anonymous user logged in'
>>> ftps.prot_p()
'200 Data protection level set to "private"'
>>> ftps.nlst()
['6jack', 'OpenBSD', 'antilink', 'blogbench', 'bsdcam', 'clockspeed', 'djbdns-jedi', 'docs', 'eaccelerator-jedi', 'favicon.ico', 'francotone', 'fugu', 'ignore', 'libpuzzle', 'metalog', 'minidentd', 'misc', 'mysql-udf-global-user-variables', 'php-jenkins-hash', 'php-skein-hash', 'php-webdav', 'phpaudit', 'phpbench', 'pincaster', 'ping', 'posto', 'pub', 'public', 'public_keys', 'pure-ftpd', 'qscan', 'qtc', 'sharedance', 'skycache', 'sound', 'tmp', 'ucarp']

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 ftplib.FTP_TLS。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。