fix: 修复 IPv6 地址解析中的端口处理逻辑
- 将 LastIndex 替换为 Index,以正确找到第一个闭合括号。 - 添加逻辑以在端口部分为空时使用默认端口 80,解决了潜在的连接问题。
This commit is contained in:
@@ -23,8 +23,8 @@ func handleTCPing(c *gin.Context, url string, params map[string]interface{}) {
|
||||
|
||||
// 检查是否是IPv6格式(如 [::1]:8080)
|
||||
if strings.HasPrefix(url, "[") {
|
||||
// IPv6格式
|
||||
closeBracket := strings.LastIndex(url, "]")
|
||||
// IPv6格式 - 使用 Index 而不是 LastIndex 来找到第一个闭合括号
|
||||
closeBracket := strings.Index(url, "]")
|
||||
if closeBracket == -1 {
|
||||
c.JSON(200, gin.H{
|
||||
"seq": seq,
|
||||
@@ -37,6 +37,10 @@ func handleTCPing(c *gin.Context, url string, params map[string]interface{}) {
|
||||
host = url[1:closeBracket]
|
||||
if closeBracket+1 < len(url) && url[closeBracket+1] == ':' {
|
||||
portStr = url[closeBracket+2:]
|
||||
// 如果端口部分为空,使用默认端口80(修复 Bug 1)
|
||||
if portStr == "" {
|
||||
portStr = "80"
|
||||
}
|
||||
} else {
|
||||
portStr = "80" // 默认端口
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user