python ftplib报500 Illegal PORT command

本文介绍了如何在使用Python的ftplib库时遇到500 Illegal PORT错误,并详细说明了将FTP工作模式转换为被动(PASV)模式的方法,包括代码示例和关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查了很多资料,都说是因为FTP主被动模式的问题,FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。但是没说在python ftplib里如何转成被动模式。

在使用python ftplib进行上传下载,报500 Illegal PORT command错误时,需要把模式改成PASV。
python中ftplib需要在调用上传/下载之前,设置PASV模式ftp.set_pasv(True),代码放置的位置如下:

def upload_file(self, local_file, remote_file):
        buf_size = 1024
        file_handler = open(local_file, 'rb')
        self.ftp.set_pasv(True)
        self.ftp.storbinary('STOR %s' % remote_file, file_handler, buf_size)
        file_handler.close()
        self.debug_print('上传: %s' % local_file + "成功!")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiah2li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值