2016-05-16 90 views
1

当我使用ftplib进行连接时,如何检查FTP服务器是否允许使用TLS?我找到了关于如何使用TLS的简单文档,但没有找到如何检查它的解决方案。我的脚本应该以任何方式连接,但如果可能的话使用TLS。如何检查FTP服务器是否在Python中提供TLS支持?

所以,我只是使用TLS进行连接,如果失败,我不做?我相信肯定有更好的办法。

谢谢你的帮助。

回答

0
  • 请致电FTP_TLS.auth,检查是否抛出。

  • 致电FTP_TLS.loginsecure=False

如果服务器支持TLS,则.auth将启用加密和.login会继续使用它。如果服务器不支持它,则.login将继续未加密。


要检查明确,你也可以使用voidcmd('FEAT'),并期待在响应AUTH TLS(或AUTH SSL)。

但是,尝试AUTH TLS/AUTH SSL.auth所做的)没有任何错误。

+0

该文档没有提到“secure = False”https://docs.python.org/2.7/library/ftplib.html。这是否被删除? – JasonTS

+0

虽然没有记录,但仍在:https://hg.python.org/cpython/file/2.7/Lib/ftplib.py#l667。无论如何,使用'secure = False'与调用记录的FTP.login(self,user ='',passwd ='',acct ='')''是一样的。 –