Python ftplib 登录时,如何设置主动模式连接?

python ftplib 登录时候,如果是主动链接,如何设置?
Python ftplib 登录时,如何设置主动模式连接?

3 回复

在Python的ftplib中,设置主动模式(Active Mode)连接很简单。默认情况下,FTP类使用的是被动模式(Passive Mode)。要切换到主动模式,你需要在登录后调用set_pasv(False)方法。

这里是一个完整的示例代码:

from ftplib import FTP

# 创建FTP对象
ftp = FTP('ftp.example.com')

# 登录
ftp.login(user='your_username', passwd='your_password')

# 设置为主动模式
ftp.set_pasv(False)

# 现在连接处于主动模式,可以执行其他操作
# 例如,列出目录内容
ftp.retrlines('LIST')

# 操作完成后关闭连接
ftp.quit()

核心解释:

  1. ftp.set_pasv(False) 这行代码是关键。它将FTP会话的模式从默认的被动模式切换为主动模式。
  2. 主动模式下,数据连接由服务器主动发起连接到客户端指定的端口。这通常在客户端防火墙配置较严格或服务器要求特定模式时使用。

一句话建议: 记得在登录后立即设置模式,以确保后续的数据传输按预期进行。


已解决,谢谢

回到顶部