From abe5b7b15734c79ae0391be01a2bca1089716523 Mon Sep 17 00:00:00 2001 From: feng <1304903146@qq.com> Date: Wed, 21 Jan 2026 14:22:31 +0800 Subject: [PATCH] perf: tool support ipv6 --- apps/accounts/api/account/template.py | 2 -- apps/common/utils/ip/utils.py | 10 +++++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/accounts/api/account/template.py b/apps/accounts/api/account/template.py index 655762e32..3aa0dd5de 100644 --- a/apps/accounts/api/account/template.py +++ b/apps/accounts/api/account/template.py @@ -1,5 +1,3 @@ -from django.conf import settings -from django.utils.translation import gettext_lazy as _ from django_filters import rest_framework as drf_filters from rest_framework import status from rest_framework.decorators import action diff --git a/apps/common/utils/ip/utils.py b/apps/common/utils/ip/utils.py index 294b305f2..d14953d43 100644 --- a/apps/common/utils/ip/utils.py +++ b/apps/common/utils/ip/utils.py @@ -113,6 +113,14 @@ def get_ip_city(ip): def lookup_domain(domain): try: - return socket.gethostbyname(domain), '' + addrinfos = socket.getaddrinfo( + domain, None, socket.AF_UNSPEC, socket.SOCK_DGRAM + ) + family, _, _, _, sockaddr = addrinfos[0] + if family == socket.AF_INET: + return sockaddr[0], '' + if family == socket.AF_INET6: + return sockaddr[0], '' + return domain, '' except Exception as e: return None, f'Cannot resolve {domain}: Unknown host, {e}'