博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转]使用Python获得本机IP地址
阅读量:6702 次
发布时间:2019-06-25

本文共 1116 字,大约阅读时间需要 3 分钟。

使用Python可以用很简单的方法得到本机IP地址,不过在Windows和Linux下的方法稍有不一样的,

Windows下获得IP地址的方法

 

方法一

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

import socketlocalIP = socket.gethostbyname(socket.gethostname())#得到本地ipprint "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)

Linux下获得IP地址的方法

上面的方法在Linux下也可以使用,除此之外,Linux下还可以用下面的方法得到本机IP地址。

Uses the Linux SIOCGIFADDR ioctl to find the IP address associated with a network interface, given the name of that interface, e.g. “eth0”. The address is returned as a string containing a dotted quad.

import socketimport fcntlimport struct def get_ip_address(ifname):    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])
 
本文转自feisky博客园博客,原文链接:http://www.cnblogs.com/feisky/archive/2011/11/26/2264306.html,如需转载请自行联系原作者
你可能感兴趣的文章
ES6 对象扩展
查看>>
hadoop fs命令
查看>>
HashMap在并发场景下踩过的坑
查看>>
JavaScript监听手机物理返回键的两种解决方法
查看>>
jOOR
查看>>
算法导论-4-2 找出所缺的整数
查看>>
HDU-1865 More is better
查看>>
Discuz!NT中的LLServer架构设计
查看>>
html 打印
查看>>
Android dip,px,pt,sp 的区别
查看>>
中文编码杂谈
查看>>
评价秦朝,不用老毛
查看>>
Asp.net和C# 函数方法 (2)【转载】
查看>>
百度分享代码(备用)
查看>>
SqlMapConfig.xml 配置
查看>>
wget用法详解
查看>>
在多个线程中避免和发现伪共享
查看>>
[Ubuntu] Ubuntu如何查看cronjob
查看>>
session监听
查看>>
Android Studio更新升级方法
查看>>