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

时间:2015-07-08 18:39:08

标签: python ssh ftp ip-address

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

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

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

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分: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

或google for "DNS lookup"

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

只有最常用的Python SSH库是Paramiko

答案 2 :(得分:0)

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

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

但是,我怀疑您不需要这样做,因为ssh和其他实用程序可以互换地接受主机名或IP地址。如果它们只需要IP地址,通常会记录在案。