西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发其它知识 → python获取本机ip主机名等信息

python获取本机ip主机名等信息

相关软件相关文章发表评论 来源:西西整理时间:2015/1/26 15:07:05字体大小:A-A+

作者:西西点击:361次评论:0次标签: python

《派森》(Python)3.13 win32 英文安装版
  • 类型:编程工具大小:21M语言:英文 评分:8.7
  • 标签:
立即下载

python有好几种方法可以获取主机的ip地址,python的socket包含了丰富的函数和方法可以获得本机的ip地址信息,socket对象的gethostbyname方法可以根据主机名获得本机ip地址,socket对象的gethostbyname_ex方法可以获得本机所有ip地址列表

我常用的一种是通过socket.socket().inet_ntoa()来实现,非常方便;但这种方法有个限制就是要把网卡名(比如eth0)作为参数传进来。所以加多了一个条件判断,如果发现以上方法获取ip抛异常时,那就用调起shell命令(ifconfig)和管道,把想要的ip给过滤出来。

Python
7.2
类别: 编程工具    大小:29.8M    语言: 英文
查看详细信息 >>

[python] 

import socket  

import fcntl  

import struct  

""" 

获取主机ip地址 

参数ifname: 通过'lo'获取的为环回地址, 通过'eth0'获取的为主机ip地址 

"""  

def get_ip_address(ifname='eth0'):  

    try:  

        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)    

        return socket.inet_ntoa(fcntl.ioctl(  

            s.fileno(),    

            0x8915, # SIOCGIFADDR    

            struct.pack('256s', ifname[:15])    

        )[20:24])   

    except:  

        ips = os.popen("LANG=C ifconfig | grep \"inet addr\" | grep -v \"127.0.0.1\" | awk -F \":\" '{print $2}' | awk '{print $1}'").readlines()  

        if len(ips) > 0:  

            return ips[0]  

    return ''

Python获取域名IP和本地ip主机名等信息

#coding: gbk
import socket
socket.gethostbyname('www.cr173.com')    #获取域名对应的IP
socket.gethostbyname(socket.gethostname())    #获取主机名
socket.gethostbyname_ex(socket.gethostname())    #根据主机名判断出IP

Windows下获得IP地址的方法

方法一

使用拨号上网的话,一般都有一个本地ip和一个外网ip,使用python可以很容易的得到这两个ip 使用gethostbyname和gethostbyname_ex两个函数可以实现

import socket

localIP = socket.gethostbyname(socket.gethostname())#得到本地ip

print "local ip:%s "%localIP

ipList = socket.gethostbyname_ex(socket.gethostname())

for i in ipList:

    if i != localIP:

       print "external IP:%s"%i

方法二

import socket

myname = socket.getfqdn(socket.gethostname())

myaddr = socket.gethostbyname(myname)

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)