用python获取ftp服务器的ip地址

2024-05-23 19:22:36 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

但因为我想用ssh作为参数用户@主机,我想我需要的是服务器的ip地址,而不是ftp站点的url。有没有代码可以在ftplib中查找和存储ftp服务器的ip地址?在


Tags: orgimportip服务器数据库参数地址ftp
3条回答

{cd1>的名称是地址。在

在TCP应用程序/库的绝大多数情况下,您可以交替使用主机名和IP地址(HTTP/web浏览器是一个显著的区别)。在

因此,对于任何pythonsh库,您也可以使用主机名,就像在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。在

在Python中,您可以使用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地址,它通常是这样记录的。在

相关问题 更多 >