python获取主机ip_Python 获取本地主机 hostname 和 IP 地址的简单方法
Python 获取本地主机 hostname 很简单,一行代码就能搞定。获取 IP 地址也一样简单,下面分享一下这些方法。都很简单,基本都是通过 Python 的 socket 库来进行获取的。Python socket 还是一个非常强大的网络功能库,很多时候配合 socketserver 使用效果更好。
一、推荐方法>>> import socket
>>> # 获取主机名
>>> hostname = socket.gethostname()
>>> hostname
'USER-20150331GI'
>>>
>>> # 获取IP地址
>>> ip = socket.gethostbyname(hostname)
>>> ip
'192.168.1.3'
对于获取 IP 地址,其实 socket.gethostbyname() 很多情况下并不能准确获取到 IP 地址,很多时候会返回一个 127.0.0.1 或者是私有 IP,下面的方法可以更准确的获取 IP 地址(也就是下方的备用方法一):import socket
def get_host_ip():
"""
查询本机ip地址
:return: ip
"""
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('8.8.8.8', 80))
ip = s.getsockname()[0]
finally:
s.close()
return ip
if __name__ == '__main__':
print(get_host_ip())
二、备用方法
备用方法一:>>> import socket
>>> # 获取主机名
>>> hostname = socket.getfqdn(socket.gethostname())
>>> hostname
'USER-20150331GI'
>>>
>>> # 获取IP地址
>>> s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
>>> s.connect(('8.8.8.8', 80))
>>> ip = s.getsockname()[0]
>>> ip
'192.168.1.3'
备用方法二:>>> import socket
>>> hostname = socket.gethostname()
>>> ip_lists = socket.gethostbyname_ex(hostname)
>>> ip_lists
('USER-20150331GI', [], ['192.168.1.3'])
>>>
>>> # 获取主机名
>>> hostname = ip_lists[0]
>>> hostname
'USER-20150331GI'
>>>
>>> # 获取IP地址
>>> ip = lst[-1]
>>> ip
['192.168.1.3']
参考文献:
python获取主机ip_Python 获取本地主机 hostname 和 IP 地址的简单方法相关推荐
- 本地oracle无法通过ip地址连接解决方法(因个人环境原因可能不适用)
本地oracle可以通过localhost连接,无法通过ip地址连接解决方法 本地安装了oracle11g r2 ,一直是自己本地玩,今天突然需要让别的同事访问我的数据库,死活连接不上,百度了很多教程 ...
- Delphi获得计算机系统配置,用Delphi获取本地计算机名称和IP地址
下载本文示例代码 本程序介绍如何获取本地计算机的名称和IP地址. 向窗体上添加两个TLabel组件.两个TEdit组件和一个TButton组件,设计完成的主界面如图1所示. 图1 主界面 首先在程序的 ...
- java ip 获取了两个_用Java获取本地的多个IP地址
翻API翻出来的,拿出来晒晒... 特别适用于获取本地的多个IP地址 import java.net.InetAddress; import java.net.NetworkInterface; im ...
- 计算机自动配置的ip地址,电脑自动获取IP地址的设置方法(图文)
在我们使用电脑的过程中,有时候需要根据网络的需求将电脑IP地址设置为自动获取,对网络知识不太了解的朋友遇到此类问题可能不知道怎么去设置,在此小编总结了有关电脑设置自动获取IP地址的相关方法,感兴趣的朋 ...
- Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)
Android获取设备各项信息(设备id.ip地址.APP应用名称.设备名称.运行商.品牌.型号.分辨率.处理器.国家码.系统语言.网络类型.oaid.android版本.操作系统版本.mac地址.应 ...
- php 获取 ip地址_PHP 获取ip地址的六种方法
本篇文章主要介绍PHP 获取ip地址的六种方法,感兴趣的朋友参考下,希望对大家有所帮助. 代码一:function getip() { static $ip = ''; $ip = $_SERVER[ ...
- #两台主机之间通信时为什么要用IP地址,而不直接用硬件地址?
两台主机之间通信时为什么要用IP地址,而不直接用硬件地址? 既然在网络链路上传送的数据帧最终是用硬件地址来寻找目的主机,为什么还要用IP地址进行通信,为什么不直接是用硬件地址进行通信? 首先要 ...
- 配置静态路由下一跳为本地出战接口和IP地址的区别
配置静态路由下一跳为本地出战接口和IP地址的区别 在配置静态路由时,下一跳可以使用下一路由器的IP地址,也可以使用本路由器的出站接口.在点对点的网络中,两者可能没有什么差别,但在以太网中或者NBMA网 ...
- centos7配置IP地址CentOS7 修改hostname,ip地址以及hosts(永久生效)
CentOS7 修改hostname,ip地址以及hosts(永久生效) https://blog.csdn.net/ntuxiaolei/article/details/81130866 在局域网内 ...
最新文章
- 前端开发实习生的第一天
- activity 启动模式_Intent#FLAG_ACTIVITY_CLEAR_TOP 真的会 clear top 吗
- javaweb中mysql数据库的回滚操作代码
- 腾讯视频如何设置画面对比度方面的内容
- git安装包国内镜像下载地址,速度快
- 《信息安全系统设计基础》实验四报告
- 高通第一财季营收107亿美元 净利润超过30亿美元
- 2020年入门数据分析选择Python还是SQL?七个常用操作对比!
- AIX ORACLE 迁移到ASM
- nginx的源码编译及相关文件配置
- Hadoop学习笔记(一):MapReduce工作机制
- 基于ServerSokect和Soket的简易Qq程序
- Hypermesh软件初学
- 二分排序(java)
- 计算机flash逐渐淡入,Flash air制作淡入淡出窗体动画效果
- python3.8安装pygame_Python3.8安装Pygame教程
- Ques1017勇者斗恶龙
- 手把手教你写网络爬虫:Web应用的漏洞检测实战篇!
- jadx工具windows下载
- OpenStack 企业私有云的若干需求(7):电信行业解决方案 NFV
热门文章
- 重磅:Elasticsearch上市!市值近50亿美元
- linux作业控制三个,10个linux 作业控制的bash 脚本实例
- 注册界面翻译_B站UP主自制的开源OCR翻译器走红Github,用一次就粉了
- 在python中print 应用_Python print正确使用方法浅析
- 提高安全意识,保护自身安全
- CSS样式----块级元素和行内元素
- paddle_ocr1.0入门踩坑
- 模块计算机类型x64与目标计算机类型X86冲突
- has no attribute 'xw_plus_b'
- VS2010-2015对C++11/14/17特性的支持