Files
go-admin/common/ip.go
T
2021-06-17 11:28:51 +08:00

30 lines
576 B
Go

package common
import (
"fmt"
"github.com/gin-gonic/gin"
"strings"
)
func GetClientIP(c *gin.Context) string {
ClientIP := c.ClientIP()
fmt.Println("ClientIP:", ClientIP)
RemoteIP, _ := c.RemoteIP()
fmt.Println("RemoteIP:", RemoteIP)
ip := c.Request.Header.Get("X-Forwarded-For")
if strings.Contains(ip, "127.0.0.1") || ip == "" {
ip = c.Request.Header.Get("X-real-ip")
}
if ip == "" {
ip = "127.0.0.1"
}
if RemoteIP.String() != "127.0.0.1" {
ip = RemoteIP.String()
}
if ClientIP != "127.0.0.1" {
ip = ClientIP
}
fmt.Println("ip:", ip)
return ip
}