当使用 Python 通过隐式 FTPS 连接到 ShareFile 时,我得到以下信息:
Traceback (most recent call last):
ftps.storbinary("STOR /file, open(file, "rb"), 1024)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ftplib.py", line 769, in storbinary
conn.unwrap()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 791, in unwrap
s = self._sslobj.shutdown()
SSLError: ('The read operation timed out',)
我的 tyFTP(必需,因为 ftplib 不直接支持隐式 FTPS)类来自这里:Python FTP 隐式 TLS 连接问题。这是代码:
ftps = tyFTP()
try:
ftps.connect(‘ftps.host.domain’, 990)
except:
traceback.print_exc()
traceback.print_stack()
ftps.login(‘uid', ‘pwd')
ftps.prot_p()
try:
ftps.storbinary("STOR /file", open(file, "rb"), 1024)
# i also tried non-binary, but that didn't work either
# ftps.storlines("STOR /file", open(file, "r"))
except:
traceback.print_exc()
traceback.print_stack()
之前有人问过这个问题,但提供的唯一解决方案是破解 python 代码。这是最好/唯一的选择吗?
在 FTPS STOR 上使用 Python 2.7.5 代码超时上传 ShareFile
ftplib - 文件创建速度非常慢:SSLError:读取操作超时
ftps.storlines socket.timeout 尽管文件上传完成
在 python.org 上也有关于这个问题的旧讨论:http: //bugs.python.org/issue8108。那里的建议是,这是一个难以解决的模棱两可的情况(也许从来没有?)
请注意:我会为现有问题添加评论,但我的声誉不足以发表评论(新堆栈交换用户)。