init the project
This commit is contained in:
26
rest/util_network.go
Normal file
26
rest/util_network.go
Normal file
@ -0,0 +1,26 @@
|
||||
package rest
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
||||
//根据一个请求,获取ip.
|
||||
func GetIpAddress(r *http.Request) string {
|
||||
var ipAddress string
|
||||
|
||||
ipAddress = r.RemoteAddr
|
||||
|
||||
if ipAddress != "" {
|
||||
ipAddress = strings.Split(ipAddress, ":")[0]
|
||||
}
|
||||
|
||||
for _, h := range []string{"X-Forwarded-For", "X-Real-Ip"} {
|
||||
for _, ip := range strings.Split(r.Header.Get(h), ",") {
|
||||
if ip != "" {
|
||||
ipAddress = ip
|
||||
}
|
||||
}
|
||||
}
|
||||
return ipAddress
|
||||
}
|
Reference in New Issue
Block a user