feat: 优化获取本机IP地址的逻辑,处理异常情况并使用动态获取的IP

This commit is contained in:
zhu-mengmeng 2025-07-19 14:36:32 +08:00
parent 66344011f4
commit 387fc11796

View File

@ -2191,19 +2191,19 @@ class MainWindow(MainWindowUI):
else: else:
info['sc_gch'] = "" # 默认值 info['sc_gch'] = "" # 默认值
# 获取本机IP地址 # 获取本机IP地址
# import socket import socket
# try: try:
# # 通过连接外部服务器获取本机IP不实际建立连接 # 通过连接外部服务器获取本机IP不实际建立连接
# s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# s.connect(("8.8.8.8", 80)) s.connect(("8.8.8.8", 80))
# local_ip = s.getsockname()[0] local_ip = s.getsockname()[0]
# s.close() s.close()
# info['nw_ip'] = local_ip.replace('.', '') info['nw_ip'] = local_ip
# except Exception as e: except Exception as e:
# logging.error(f"获取本机IP失败: {str(e)}") logging.error(f"获取本机IP失败: {str(e)}")
# # 如果获取失败,使用本地回环地址 # 如果获取失败,使用本地回环地址
# info['nw_ip'] = '127.0.0.1'.replace('.', '') info['nw_ip'] = '127.0.0.1'
info['nw_ip'] = '192.168.1.246' # info['nw_ip'] = '192.168.1.246'
# 调用接口添加到包装记录 # 调用接口添加到包装记录
response = gc_api.add_order_info(info) response = gc_api.add_order_info(info)
if response.get("status",False): if response.get("status",False):
@ -3710,12 +3710,23 @@ class MainWindow(MainWindowUI):
from apis.gc_api import GcApi from apis.gc_api import GcApi
gc_api = GcApi() gc_api = GcApi()
import socket
try:
# 通过连接外部服务器获取本机IP不实际建立连接
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
local_ip = s.getsockname()[0]
s.close()
except Exception as e:
logging.error(f"获取本机IP失败: {str(e)}")
# 如果获取失败,使用本地回环地址
# 准备参数 # 准备参数
params = { params = {
'ismt': ismt, 'ismt': ismt,
'corp_id': self.corp_id, 'corp_id': self.corp_id,
'tray_id': tray_id, 'tray_id': tray_id,
'ip': '192.168.1.246' 'ip': local_ip
} }
# 调用接口 # 调用接口