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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.