# -*- coding: utf-8 -*-
import socket
import requests
import re
class IP:
@staticmethod
def get_ip_public():
"""
获取本机公网IP
:return:
"""
try:
text = requests.get("http://txt.go.sohu.com/ip/soip").text
ip_public = re.findall(r'\d+.\d+.\d+.\d+', text)[0]
return ip_public
except:
return '0.0.0.0'
@staticmethod
def get_ip_local():
"""
查询本机内网IP
:return:
"""
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("内网IP:{}".format(IP.get_ip_local()))
print("外网IP:{}".format(IP.get_ip_public()))
利用Python获取本机IP地址(公网IP和局域网IP)
最新推荐文章于 2023-05-07 16:17:40 发布