pcapi/app/k8sManager/pcapi_utils.py
2025-07-16 14:46:24 +08:00

16 lines
689 B
Python

import socket
def get_local_ipv4():
"""获取本机IPv4地址"""
try:
# 获取本机所有网络接口信息
local_ip = socket.gethostbyname(socket.gethostname())
except socket.gaierror:
# 如果上述方式失败(例如,主机名无法解析),则尝试以下备用方法
local_ip = ([l for l in ([ip for ip in socket.gethostbyname_ex(socket.gethostname())[2]
if not ip.startswith("127.")][:1], [[(s.connect(('8.8.8.8', 53)), s.getsockname()[0], s.close())
for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1]]) if l][0][0])
return local_ip
if __name__ == "__main__":
print(get_local_ipv4())