123456789101112131415161718192021222324252627 |
- package common
- import (
- "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
- }
- return ip
- }
|