2016-05-16 6 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が何をするのか)AUTH TLS/AUTH SSLしようとしてについて何も悪いことはありません。

+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 = '')を呼び出すのと同じです。 –

関連する問題