python 获取本机IP地址

发布时间:2019-08-05 14:57:00编辑:auto阅读(2738)

    方法一:
    通常使用socket.gethostbyname()方法即可获取本机IP地址,但有时候获取不到(比如没有正确设置主机名称),示例代码如下:

    import socket
    
    # 获取本机计算机名称
    hostname = socket.gethostname()
    # 获取本机ip
    ip = socket.gethostbyname(hostname)
    print(ip)

    方法二:
    亲测本方法在windows和Linux系统下均可正确获取IP地址

    import socket
    
    def get_host_ip():
        """
        查询本机ip地址
        :return: ip
        """
        try:
            s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
            s.connect(('8.8.8.8', 80))
            ip = s.getsockname()[0]
        finally:
            s.close()
    
        return ip
    
    if __name__ == '__main__':
        print(get_host_ip())
    

关键字

上一篇: python3.6.5-socket编程

下一篇: H3C DNS