使用ftplib时出错0

时间:2015-10-02 18:52:01

标签: python ftplib

我正在尝试使用python的ftplib下载文件,而我正在运行一个问题。当我在计算机上运行脚本时出现错误:

Traceback (most recent call last):
  File "ftp_get.py", line 20, in <module>
    ftps.retrbinary('RETR '+ filename, file.write)
  File "C:\Python27\lib\ftplib.py", line 710, in retrbinary
    conn.unwrap()
  File "C:\Python27\lib\ssl.py", line 771, in unwrap
    s = self._sslobj.shutdown()
socket.error: [Errno 0] Error

但是当我在服务器上运行它时,它可以完美运行。今天早上它也在我的电脑上运行,但现在我收到了错误。 Python代码如下:

from ftplib import FTP_TLS
import os
import glob

user = "something"
passwd = "some_password"
ftps = FTP_TLS('domain')
ftps.login(user, passwd)
ftps.prot_p()       
filenames = ftps.nlst() 

for filename in filenames:
    local_filename = os.path.join('C:\\test2\\', filename)
    file = open(local_filename, 'wb')
    ftps.retrbinary('RETR '+ filename, file.write)
    print "Downloading - " + filename
    #ftps.delete (filename)
    #print "Deleting - " + filename
    file.close()

ftps.quit()

为什么它适用于某些计算机而不适用于其他计算机?

1 个答案:

答案 0 :(得分:0)

访问Pure-FTPd服务器时似乎存在问题。这里记录了:https://bugs.python.org/issue25437根据报告,您可以为服务器设置兼容模式。在我的情况下,我无权访问服务器,因此注释掉了ftps.prot_p(),这意味着数据是未加密的。