Finding local IP addresses using Python's stdlib

后端 未结 30 3221
北恋
北恋 2020-11-21 23:54

How can I find local IP addresses (i.e. 192.168.x.x or 10.0.x.x) in Python platform independently and using only the standard library?

30条回答
  •  猫巷女王i
    2020-11-22 00:32

    A Python 3.4 version utilizing the newly introduced asyncio package.

    async get_local_ip():
        loop = asyncio.get_event_loop()
        transport, protocol = await loop.create_datagram_endpoint(
            asyncio.DatagramProtocol,
            remote_addr=('8.8.8.8', 80))
        result = transport.get_extra_info('sockname')[0])
        transport.close()
        return result
    

    This is based on UnkwnTech's excellent answer.

提交回复
热议问题