如何在Python中从NIC获取IP地址?

如何在Python中从NIC获取IP地址?,第1张

如何在Python中从NIC获取IP地址

两种方法

方法1(使用外部软件包)

您需要询问绑定到

eth0
接口的IP地址。可从netifaces包中获得

import netifaces as nini.ifaddresses('eth0')ip = ni.ifaddresses('eth0')[ni.AF_INET][0]['addr']print ip  # should print "192.168.100.37"

您还可以通过以下方式获取所有可用接口的列表

ni.interfaces()
方法2(无外部包装)

这是一种无需使用python包即可获取IP地址的方法:

import socketimport fcntlimport structdef 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])get_ip_address('eth0')  # '192.168.0.110'

注意:检测IP地址以确定您正在使用的环境是很不容易的事情。几乎所有框架都提供了一种非常简单的方法来设置/修改环境变量以指示当前环境。尝试查看有关此内容的文档。它应该像做一样简单

if app.config['ENV'] == 'production':  #send production emailelse:  #send development email


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5630999.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存