2024-05-23 19:22:36 发布
网友
我使用ftplib连接到一个数据库,如下所示。在
ftplib
import ftplib sitename = 'ftp.ensembl.org' connection = ftplib.FTP(sitename) connection.login()
但因为我想用ssh作为参数用户@主机,我想我需要的是服务器的ip地址,而不是ftp站点的url。有没有代码可以在ftplib中查找和存储ftp服务器的ip地址?在
ssh
{cd1>的名称是地址。在
在TCP应用程序/库的绝大多数情况下,您可以交替使用主机名和IP地址(HTTP/web浏览器是一个显著的区别)。在
因此,对于任何pythonsh库,您也可以使用主机名,就像在ftplib中使用它一样。在
也就是说,要查找IP地址,可以使用ping命令:
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。在
193.62.203.85
或者谷歌搜索"DNS lookup"。在
解决实际问题:要使用Python中的SSH,不需要IP地址,而是需要SSH库。在
Python最常用的SSH库只有Paramiko。在
对于ssh,需要使用paramiko:http://www.paramiko.org/
这里: http://docs.paramiko.org/en/1.15/api/client.html#paramiko.client.SSHClient.open_sftp
最诚挚的问候
在Python中,您可以使用socket库轻松地将主机名转换为IP地址:
socket
>>> import socket >>> socket.gethostbyname('www.microsoft.com') '184.85.88.154' >>> socket.gethostbyname('ftp.ensembl.org') '193.62.203.85'
但是,我怀疑您不需要这样做,因为ssh和其他实用程序可以互换地接受主机名或IP地址。如果他们只需要一个IP地址,它通常是这样记录的。在
{cd1>的名称是地址。在
在TCP应用程序/库的绝大多数情况下,您可以交替使用主机名和IP地址(HTTP/web浏览器是一个显著的区别)。在
因此,对于任何pythonsh库,您也可以使用主机名,就像在ftplib中使用它一样。在
也就是说,要查找IP地址,可以使用
ping
命令:所以FTP服务器的IP地址是
193.62.203.85
。在或者谷歌搜索"DNS lookup"。在
解决实际问题:要使用Python中的SSH,不需要IP地址,而是需要SSH库。在
Python最常用的SSH库只有Paramiko。在
对于ssh,需要使用paramiko:http://www.paramiko.org/
这里: http://docs.paramiko.org/en/1.15/api/client.html#paramiko.client.SSHClient.open_sftp
最诚挚的问候
在Python中,您可以使用
socket
库轻松地将主机名转换为IP地址:但是,我怀疑您不需要这样做,因为
ssh
和其他实用程序可以互换地接受主机名或IP地址。如果他们只需要一个IP地址,它通常是这样记录的。在相关问题 更多 >
编程相关推荐