在python中连接到IPv6上的FTP服务器

时间:2013-06-20 08:46:15

标签: python ftp ipv6 ftplib

这就是我以编程方式连接到FTP服务器的方式: Python代码

  

ftp = ftplib.FTP(settings.FTP_IP)
  ftp.login(settings.FTP_LOGIN,settings.FTP_PASS)
  #...
  #在这里我将文件上传到服务器
  #...
  ftp.quit()

但就像IPv4一样。但是如何通过IPv6连接到服务器? 我看了一些liby,试图把它们放在shell中,连接,但是唉,它没用。

告诉我是否有人处理过此事。

1 个答案:

答案 0 :(得分:0)

在查看ftplib.py的代码后,在我看来代码已经为IPv6做好了准备。

图书馆知道EPSVEPRT并在适当的时候使用它们。

,例如,

def makepasv(self):
    if self.af == socket.AF_INET:
        host, port = parse227(self.sendcmd('PASV'))
    else:
        host, port = parse229(self.sendcmd('EPSV'), self.sock.getpeername())
    return host, port

表明它会根据我们使用的IP版本发送PASVEPSV