當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。