2017-07-27 24 views
1

こんにちは私はシンプルなftpファイルzillaサーバーから単純な読み取りと書き込みを行います私はファイルzillaクライアントでうまく動作するセットアップがあります。読んだり書いたりするときにこのエラーを解決する方法を理解できません。 mkdir作業罰金のような他の事をするだけでなくpython3 ftplib SSLEOFError(8、 'プロトコル(_ssl.c:645)違反でEOFが発生しました')

>>> from ftplib import FTP_TLS 
>>> import subprocess 
>>> import io 
>>> import os 
>>> import sys 
>>> from datetime import datetime, date, time 
>>> from os.path import basename 
>>> local_filename = os.path.join(os.getcwd(), 'KansasCityTestData.csv') 
>>> print(local_filename) 
/var/www/KansasCityTestData.csv 
>>> myfile = open(local_filename, 'wb') 
>>> myfile 
<_io.BufferedWriter name='/var/www/KansasCityTestData.csv'> 
>>> command = 'RETR /%s' % 'KansasCityTestData.csv' 
>>> command 
'RETR /KansasCityTestData.csv' 
>>> ftp = FTP_TLS('111.111.111.111') #except my real info 
>>> ftp.login('myuser', 'mypass') 
'230 Logged on' 
>>> ftp.prot_p() 
'200 Protection level set to P' 
>>> ftp.set_pasv(True) 
>>> ftp.retrbinary(command, myfile.write) 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "/usr/lib/python3.5/ftplib.py", line 441, in retrbinary 
with self.transfercmd(cmd, rest) as conn: 
    File "/usr/lib/python3.5/ftplib.py", line 398, in transfercmd 
    return self.ntransfercmd(cmd, rest)[0] 
    File "/usr/lib/python3.5/ftplib.py", line 796, in ntransfercmd 
    server_hostname=self.host) 
    File "/usr/lib/python3.5/ssl.py", line 377, in wrap_socket 
    _context=self) 
    File "/usr/lib/python3.5/ssl.py", line 752, in __init__ 
    self.do_handshake() 
    File "/usr/lib/python3.5/ssl.py", line 988, in do_handshake 
    self._sslobj.do_handshake() 
    File "/usr/lib/python3.5/ssl.py", line 633, in do_handshake 
    self._sslobj.do_handshake() 
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:645) 

私はUbuntuの16.04でpython3.5.2を使用していますコマンド。私はcimilarの質問をたくさん見てきましたが、ftpには当てはまらないようです。私が見つけることができるのは、python3が明示的にtlsをサポートしていることだけです。どんな助けでも大歓迎です。

答えて

0

私はそれを理解しましたが、この回答は他のどのスレッドでもうまくいきませんでした。サーバーはパッシブ接続でセッション再利用を有効にしていましたが、これはpython3.6までサポートされていませんでした。だから私は要件を無効にし、それは正常に働いた。 filezillaでは、 「prot_pを使用しているときにデータ接続にTLSセッション再開を要求する」と呼ばれています。

関連する問題