fix #2264
This commit is contained in:
parent
947d0d6d4b
commit
03d6834471
@ -604,19 +604,29 @@ class StringUtils:
|
||||
def get_domain_address(address: str, prefix: bool = True) -> Tuple[Optional[str], Optional[int]]:
|
||||
"""
|
||||
从地址中获取域名和端口号
|
||||
:param address: 地址
|
||||
:param prefix:返回域名是否要包含协议前缀
|
||||
"""
|
||||
if not address:
|
||||
return None, None
|
||||
if prefix and not address.startswith("http"):
|
||||
# 如果需要包含协议前缀,但地址不包含协议前缀,则添加
|
||||
address = "http://" + address
|
||||
elif not prefix and address.startswith("http"):
|
||||
# 如果不需要包含协议前缀,但地址包含协议前缀,则去掉
|
||||
address = address.split("://")[-1]
|
||||
# 去掉末尾的/
|
||||
address = address.rstrip("/")
|
||||
# 拆分域名和端口号
|
||||
parts = address.split(":")
|
||||
if len(parts) > 3:
|
||||
# 处理不希望包含多个冒号的情况(除了协议后的冒号)
|
||||
return None, None
|
||||
# 不含端口地址
|
||||
domain = ":".join(parts[:-1])
|
||||
if domain.endswith("/"):
|
||||
domain = domain[:-1]
|
||||
# 检查是否包含端口号
|
||||
# 端口号
|
||||
try:
|
||||
port = int(parts[-1])
|
||||
except ValueError:
|
||||
|
Loading…
x
Reference in New Issue
Block a user