本文已参加「新人创作礼」活动,一起开启掘金创作之路。
之前也是简单记载了一下获取http中的ip地址 这是之前的文章 blog.csdn.net/shunuanwei/… 这次,我突然想到这个地方 ,我在仔细研究一下,或者说,在调整一下代码 嗯~~
import "net/http"
// 获取请求中的IP
func RemoteIp(req *http.Request) string {
var remoteAddr string
// RemoteAddr
remoteAddr = req.RemoteAddr
if remoteAddr != "" {
return remoteAddr
}
// ipv4
remoteAddr = req.Header.Get("ipv4")
if remoteAddr != "" {
return remoteAddr
}
//
remoteAddr = req.Header.Get("XForwardedFor")
if remoteAddr != "" {
return remoteAddr
}
// X-Forwarded-For
remoteAddr = req.Header.Get("X-Forwarded-For")
if remoteAddr != "" {
return remoteAddr
}
// X-Real-Ip
remoteAddr = req.Header.Get("X-Real-Ip")
if remoteAddr != "" {
return remoteAddr
} else {
remoteAddr = "127.0.0.1"
}
return remoteAddr
}