首页 > 其他 > 详细

获取本机局域网ip和出口ip

时间:2021-06-18 14:28:00      阅读:19      评论:0      收藏:0      [点我收藏+]
import socket
import requests


class GetLocalHost:

    def get(self):
        with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s:
            s.connect((‘8.8.8.8‘, 80))

            ip = s.getsockname()[0]
        return ip


class GetExportIp:

    def get(self):
        ip = requests.get(‘https://checkip.amazonaws.com‘).text.strip()
        return ip


IP_TYPE_DICT = {
    "local": GetLocalHost,
    "export": GetExportIp
}


def get_ip(type):
    func = IP_TYPE_DICT.get(type, None)
    if not func:
        raise Exception(f‘type:{type}, 参数错误‘)
    return func().get()


if __name__ == ‘__main__‘:
    ip = get_ip(‘local‘)
    print(ip)

获取本机局域网ip和出口ip

原文:https://www.cnblogs.com/snailrunning/p/14899100.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!