python 使用socket 获得本机主机名和IP

简介:

Windows 10 平台代码:

1
2
3
4
5
6
7
8
9
10
import  socket
hostname  = socket.gethostname()
print (  "Host name: %s"  % hostname )
sysinfo = socket.gethostbyname_ex( hostname )
ip_addr = sysinfo[2]
ip_addr1 = ip_addr[0]
ip_addr2 = ip_addr[1]
ip_addr3 = ip_addr[2]
ip_addr4 = ip_addr[3]
print( "IP Address: %s"  %ip_addr1,ip_addr2,ip_addr3,ip_addr4)


运行结果:

备注:因有虚拟机所以IP比较多

wKioL1mRZyfyDrfzAAA2sBpXd1M167.jpg


Linux 平台代码:

1
2
3
4
5
6
7
8
import  socket
hostname  = socket.gethostname()
print (  "Host name: %s"  % hostname )
sysinfo = socket.gethostbyname_ex( hostname )
ip_addr = sysinfo[2]
ip_addr1 = ip_addr[0]
ip_addr2 = ip_addr[1]
print( "IP Address: %s"  %ip_addr1,ip_addr2)

备注:

经过测试验证socket 是通过解析主机名才能成功也就是这样才可以不然会报错

[root@ocbsap01 sysadmin]# cat /etc/hosts

192.168.10.128  ocbsap01

10.10.10.128    ocbsap01

192.168.10.129  ocbsweb01

192.168.10.130  ocbsweb02

192.168.10.131  ocbsdb01


代码解释:

socket.gethostname()      # 获取主机名

socket.gethostbyname_ex() # 在多网卡的情况下通过主机名获取IP地址,IP地址结果为列表形式,print时候主机格式转化,或者队列取值才行




本文转自 yuri_cto 51CTO博客,原文链接:http://blog.51cto.com/laobaiv1/1956093,如需转载请自行联系原作者
相关文章
|
10天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
14天前
|
数据挖掘 API 数据安全/隐私保护
python请求模块requests如何添加代理ip
python请求模块requests如何添加代理ip
|
15天前
|
存储 关系型数据库 MySQL
Python搭建代理IP池实现存储IP的方法
Python搭建代理IP池实现存储IP的方法
|
15天前
|
Python
Python动态IP代理防止被封的方法
Python动态IP代理防止被封的方法
|
15天前
|
网络协议 Linux Windows
TCP/IP、Http、Socket之间的区别
TCP/IP、Http、Socket之间的区别
|
15天前
|
存储 API Python
python之代理ip的配置与调试
python之代理ip的配置与调试
|
15天前
|
存储 Python
用Python实现批量下载文件——代理ip排除万难
用Python实现批量下载文件——代理ip排除万难
|
15天前
|
存储 数据处理 Python
Python构造代理IP池提高访问量
Python构造代理IP池提高访问量
|
16天前
|
数据采集 API Python
python关于ip代理池的获取和随机生成
python关于ip代理池的获取和随机生成
|
16天前
|
数据采集 存储 安全
python检测代理ip是否可用的方法
python检测代理ip是否可用的方法