1

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

- 编辑

#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

谢谢

4

2 回答 2

1

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

对于 FTP,请查看ftplibPyPI 上的众多选项之一。

于 2012-03-23T04:28:27.957 回答
0

我遇到了同样的错误。我尝试通过控制台遵循相同的过程。对我来说,当出现网络连接问题时会引发此错误。我用装饰器重试写了一个函数。要继续重试与 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) 
于 2018-05-09T22:46:44.037 回答