选择哪个ip地址用于ftp连接

时间:2016-07-05 00:07:41

标签: python networking ftp ip

我有一个问题。我的NIC有几个辅助IP地址。 我无法在python中找到ftp库,它允许选择用于连接到ftp服务器的IP地址。 有谁知道它是如何实现的,我调查了原始套接字并且也没有找到它。 我知道它在jmeter中实现了http / https,但出于某种原因不适用于ftp。

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

spectras所述,Python 3标准库中的FTP客户端允许将source address指定为元组。除非您有源的已知或静态端口,否则将端口号设置为零应选择下一个可用端口。以文档为例:

from ftplib import FTP

source = ('192.168.1.100', 0)
destination = '172.16.1.1'
with FTP(destination, source_address=source) as ftp:
    ftp.login()
    print(ftp.dir())

答案 1 :(得分:1)

正如我所提到的,标准的python ftp lib有一个source_address参数。但是它不适用于你显然需要的python 2。

所以我建议python2.7的以下kludge。这是复制粘贴https://github.com/crspybits/SMCoreLib.git参数的python3实现并调整它以使其工作。丑陋但是......

source_address

它像猴子修补一样难看。它应该做的伎俩。如果您使用它,请记录此恐怖,以便在您移动到python3时将其删除。