ftplib在python中连接错误error_proto 150

时间:2012-03-23 04:06:09

标签: python ftplib

我使用此代码连接并从ftp获取目录列表。它工作但在某些计算机上我收到ftplib.error_proto:150。这个错误的含义是什么?此错误是由于反病毒或权限问题造成的吗?我的操作系统是windows xp。

-Edited

#http_pool = urllib3.connection_from_url(myurl)
#r1 = http_pool.get_url(myurl)
#print r1.data

抱歉,我在上面发布了错误的代码。我正在使用ftplib

self.ftp = FTP(webhost)
self.ftp.login(username, password)
x = self.ftp.retrlines('LIST')

错误讯息:

File "ftplib.pyo", line 421, in retrlines
File "ftplib.pyo", line 360, in transfercmd
File "ftplib.pyo", line 329, in ntransfercmd
File "ftplib.pyo", line 243, in sendcmd
File "ftplib.pyo", line 219, in getresp
ftplib.error_proto: 150

感谢

2 个答案:

答案 0 :(得分:1)

不幸的是,urllib3不支持FTP协议。我们已经考虑过添加对更多协议的支持,但它不会很快发生。

对于FTP,请查看ftplibmany options on PyPI之一。

答案 1 :(得分:0)

我得到了同样的错误。我尝试通过控制台执行相同的过程。对我来说,当出现网络连接问题时,会抛出此错误。我用decorator retrying写了一个函数。继续重试与remort连接直到成功:

示例:

    @retry(wait_random_min=1000, wait_random_max=2000)
    def connect_to_remort(self)

        self.ftp = FTP(webhost)
        self.ftp.login(username, password)
        x = self.ftp.retrlines('LIST')
        print(x)