fix
This commit is contained in:
@@ -1 +1,25 @@
|
||||
package ip
|
||||
|
||||
import (
|
||||
"net"
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// 获取客户端ip地址
|
||||
func GetClientIP(r *http.Request) (ip string, err error) {
|
||||
xForwardedFor := r.Header.Get("X-Forwarded-For")
|
||||
ip = strings.TrimSpace(strings.Split(xForwardedFor, ",")[0])
|
||||
if ip != "" {
|
||||
return ip, nil
|
||||
}
|
||||
ip = strings.TrimSpace(r.Header.Get("X-Real-Ip"))
|
||||
if ip != "" {
|
||||
return ip, nil
|
||||
}
|
||||
ip, _, err = net.SplitHostPort(strings.TrimSpace(r.RemoteAddr))
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return ip, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user