在python中获取ftp服务器的ip地址

问题描述 投票:1回答:3

我使用ftplib连接到数据库,如下所示。

import ftplib
sitename = 'ftp.ensembl.org'
connection = ftplib.FTP(sitename)
connection.login()

但是因为我想使用带有user @ host参数的ssh,我相信我需要服务器的ip地址而不是ftp站点的url。是否有任何代码可以在ftplib中找到并存储ftp服务器的ip地址?

python ssh ftp ip-address
3个回答
1
投票

对于ssh,你需要使用paramiko:http://www.paramiko.org/

在这里:http://docs.paramiko.org/en/1.15/api/client.html#paramiko.client.SSHClient.open_sftp

最良好的问候


0
投票

您可以使用socket库在Python中轻松地将主机名转换为IP地址:

>>> import socket
>>> socket.gethostbyname('www.microsoft.com')
'184.85.88.154'
>>> socket.gethostbyname('ftp.ensembl.org')
'193.62.203.85'

但是,我怀疑你不需要这样做,因为ssh和其他工具可以互换地接受主机名或IP地址。如果他们只需要IP地址,通常会记录下来。


0
投票

主机名ftp.ensembl.org只是IP地址的名称。

在TCP应用程序/库中绝对占多数,您可以互换使用主机名和IP地址(HTTP / Web浏览器具有显着差异)。

因此,对于任何Python SSH库,您也可以使用主机名,就像使用ftplib一样。


话虽这么说,要查找IP地址,您可以使用ping命令:

C:\>ping ftp.ensembl.org

Pinging ftp-ensembl-ext.sanger.ac.uk [193.62.203.85] with 32 bytes of data:
Reply from 193.62.203.85: bytes=32 time=51ms TTL=48
Reply from 193.62.203.85: bytes=32 time=51ms TTL=48

所以你的FTP服务器的IP地址是193.62.203.85

或谷歌为"DNS lookup"


解决您的实际问题:要使用Python中的SSH,您不需要IP地址,而是需要SSH库。

只有最常用的Python SSH库是Paramiko

© www.soinside.com 2019 - 2024. All rights reserved.