我有一个问题。我的NIC有几个辅助IP地址。 我无法在python中找到ftp库,它允许选择用于连接到ftp服务器的IP地址。 有谁知道它是如何实现的,我调查了原始套接字并且也没有找到它。 我知道它在jmeter中实现了http / https,但出于某种原因不适用于ftp。
感谢任何帮助。
答案 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时将其删除。