风也温柔

计算机科学知识库

java 获取主机名-python shell根据ip获取主机名代码示例

   shell根据ip获取主机名代码示例

  更新时间:2017年11月25日 11:24:03 转载作者:学习编程知识

  这篇文章主要介绍了 shell根据ip获取主机名代码示例,涉及用模块和shell中命令获取等相关内容java 获取主机名,具有一定参考价值,需要的朋友可以了解下。

  这篇文章里我们主要分享了中shell 根据 ip 获取 或根据 获取 ip的代码java 获取主机名,具体介绍如下。

  笔者有时候需要根据获取ip

  比如根据 获得ip 10.173.14.117

  方法1:利用 模块 里的 函数

  代码如下,使用模块

  <pre class="brush:py;">

import socket
socket.gethostbyname("www.baidu.com")
'61.135.169.125'
socket.gethostbyname("rs.xidian.edu.cn")

  方法2 利用 shell 中 命令

  java 获取主机ip_java 获取主机名_linux获取主机ip地址

  疑惑:

  有时候不太稳定,有时候无法获取到 ip 具体原因带查明。

  笔者自己想的一个方法,不是很优雅,比较繁琐java 获取主机名-python shell根据ip获取主机名代码示例,不过倒是很健壮。

  主要思想是在另一台机器上把 信息写到文件里,然后把文件拷到本机器上,读取文件里的 信息。

  利用 plink 在远程ip机器上执行 > %s.命令, 将 信息输出到文件

  然后利用本地的 pscp 将远程机器上带有的文本文件/root/%s. 复制到本地

  利用 的文本读取功能读取信息, 从中取出字符串

  收尾工作:利用 rm 命令把远程机器和本地的文本文件都删除

  代码如下:

  <pre class="brush:py;">
def getHostName(ip):
command = 'java -jar %s %s "hostname > %s.hostname"' %(remoteCmdLoca,ip,ip)
result = subprocess.call(command, shell=True)
command = '%s -q -r -pw passwd %s root@%s:/root' % (pscpLoca, pscpLoca, ip)
result = subprocess.call(command, shell=True)
command = '%s -q -r -pw passwd root@%s:/root/%s.hostname %s' %(pscpLoca,ip,ip,fileDir)
result = subprocess.call(command, shell=True)
fileName = fileDir + ip + '.hostname'
readFile = open(fileName,'r')
hostnameInfo = str(readFile.readline().strip('n'))
readFile.close()
subprocess.call('rm '+ fileName, shell=True)
print "=========%s hostname is %s========" %(ip,hostnameInfo)
return hostnameInfo</pre>

  下面分享一则简单的下 获取主机名的代码示例,我是win10系统,待会可以试试:

  环境: 64位 + .7

  java 获取主机ip_java 获取主机名_linux获取主机ip地址

  代码如下:

  <pre class="brush:py;">
import socket
hostName = socket.gethostname()</pre>

  运行结果如下:

  <pre class="brush:py;">

import socket

hostName = socket.gethostname()
print hostName

  总结

  以上就是本文关于 shell根据ip获取主机名代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

  文章来源:http://www.deiniu.com/article/129045.htm