如何获取在python中运行Web应用程序的计算机的IP地址

时间:2015-07-01 06:41:22

标签: python rest ip asp.net-web-api

我正在开发一个Web API我想获取使用我的应用程序的计算机的IP地址。我使用python开发了我的API。用户可能正在使用任何操作系统。

我使用此代码获取IP地址,但这并未在每个平台上提供正确的结果。

socket.gethostbyname(gethostname())

1 个答案:

答案 0 :(得分:2)

我建议使用netifaces库:https://pypi.python.org/pypi/netifaces 否则,很难获得跨平台兼容性。

文档中的示例:

>>> netifaces.interfaces()
['lo0', 'gif0', 'stf0', 'en0', 'en1', 'fw0']


>>> netifaces.ifaddresses('lo0')
{18: [{'addr': ''}], 2: [{'peer': '127.0.0.1', 'netmask': '255.0.0.0', 'addr': '127.0.0.1'}], 30: [{'peer': '::1', 'netmask': 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', 'addr': '::1'}, {'peer': '', 'netmask': 'ffff:ffff:ffff:ffff::', 'addr': 'fe80::1%lo0'}]}