Python ssl.ssleof错误:EOF违反了协议(_ssl.c:749)
我正在尝试在windows上使用python 3.6.2进行FTP TLS。遵循代码:Python ssl.ssleof错误:EOF违反了协议(_ssl.c:749),python,ssl,sftp,tls1.2,ftplib,Python,Ssl,Sftp,Tls1.2,Ftplib,我正在尝试在windows上使用python 3.6.2进行FTP TLS。遵循代码: import ftplib ftp = ftplib.FTP_TLS() ftp.connect(host, port) ftp.login(usr, pwd) ftp.prot_p() fh = open(r'C:\\Users\\AlexandreMagno\\Desktop\\teste2.txt', 'rb') ftp.storbinary('STOR teste2.txt', fh) fh.cl
import ftplib
ftp = ftplib.FTP_TLS()
ftp.connect(host, port)
ftp.login(usr, pwd)
ftp.prot_p()
fh = open(r'C:\\Users\\AlexandreMagno\\Desktop\\teste2.txt', 'rb')
ftp.storbinary('STOR teste2.txt', fh)
fh.close()
但是出了点问题,我想是服务器认证的问题。即使返回错误,文件也会发送到服务器
Traceback (most recent call last):
File "D:/Google Drive/_ALEXANDRE/_ESTUDO/_PHYTON/_Códigos/FTP GESMAN/FTP GESMAN.py", line 26, in <module>
ftp.storbinary('STOR teste2.txt', fh)
File "C:\Program Files\Anaconda3\lib\ftplib.py", line 502, in storbinary
with self.transfercmd(cmd, rest) as conn:
File "C:\Program Files\Anaconda3\lib\ftplib.py", line 397, in transfercmd
return self.ntransfercmd(cmd, rest)[0]
File "C:\Program Files\Anaconda3\lib\ftplib.py", line 799, in ntransfercmd
server_hostname=self.host)
File "C:\Program Files\Anaconda3\lib\ssl.py", line 401, in wrap_socket
_context=self, _session=session)
File "C:\Program Files\Anaconda3\lib\ssl.py", line 808, in __init__
self.do_handshake()
File "C:\Program Files\Anaconda3\lib\ssl.py", line 1061, in do_handshake
self._sslobj.do_handshake()
File "C:\Program Files\Anaconda3\lib\ssl.py", line 683, in do_handshake
self._sslobj.do_handshake()
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:749)
回溯(最近一次呼叫最后一次):
文件“D:/Google Drive/_ALEXANDRE/_ESTUDO/_PHYTON/_Códigos/FTP GESMAN/FTP GESMAN.py”,第26行,在
ftp.storbinary('storteste2.txt',fh)
storbinary格式的文件“C:\Program Files\Anaconda3\lib\ftplib.py”,第502行
使用self.transfercmd(cmd,rest)作为连接:
文件“C:\Program Files\Anaconda3\lib\ftplib.py”,第397行,在transfercmd中
返回self.ntransfercmd(cmd,rest)[0]
文件“C:\Program Files\Anaconda3\lib\ftplib.py”,第799行,在ntransfercmd中
服务器(主机名=self.host)
文件“C:\Program Files\Anaconda3\lib\ssl.py”,第401行,在wrap_套接字中
_上下文=自身,_会话=会话)
文件“C:\Program Files\Anaconda3\lib\ssl.py”,第808行,在\uuu init中__
self.do_握手
文件“C:\Program Files\Anaconda3\lib\ssl.py”,第1061行,在do_握手中
赛尔夫:握手
文件“C:\Program Files\Anaconda3\lib\ssl.py”,第683行,在do_握手中
赛尔夫:握手
ssl.ssleof错误:EOF违反了协议(_ssl.c:749)
使用FileZilla可以很好地工作,但是在连接之前,会弹出一条关于认证的消息,在验收连接之后,它会显示:
未知证书
服务器的证书未知。请仔细检查证书以确保服务器可以信任
根据该错误,服务器证书看起来无效。您应该查看文档,了解lib在这种情况下的反应(或者只是修复证书)。顺便说一句,欢迎使用SO,请复制实际信息,不要发布截图。这样做的目的是要有一个高质量问题的高质量答案的可搜索数据库,这意味着文本。这次我为您编辑了您的问题:)。根据该错误,服务器证书看起来无效。您应该查看文档,了解lib在这种情况下的反应(或者只是修复证书)。顺便说一句,欢迎使用SO,请复制实际信息,不要发布截图。这样做的目的是要有一个高质量问题的高质量答案的可搜索数据库,这意味着文本。这次我为您编辑了您的问题:)。