当前位置: 首页 > news >正文

提交网站软件外包网站

提交网站,软件外包网站,免费网络连接,平湖网站建设在一些需求中,服务器需要记录客户端的ip地址,要获取ip地址,则需要有http.Request的对象参数传入,以下代码直接放在util中使用。 文件名:ip_utils.go package utilsimport ("context""github.com/spf1…

在一些需求中,服务器需要记录客户端的ip地址,要获取ip地址,则需要有http.Request的对象参数传入,以下代码直接放在util中使用。

文件名:ip_utils.go

package utilsimport ("context""github.com/spf13/cast""net""net/http""strings"
)// GetClientRealIp 获取客户端的真实 IP 地址
func GetClientRealIp(r *http.Request) (string, bool) {headers := []string{"X-Forwarded-For","Proxy-Client-IP","WL-Proxy-Client-IP","X-Real-Ip",}for _, header := range headers {ip := r.Header.Get(header)if ip != "" {// X-Forwarded-For 可能包含多个 IP 地址,用逗号分隔,取第一个有效的ips := strings.Split(ip, ",")for _, ipPart := range ips {ipPart = strings.TrimSpace(ipPart)if isValidIp(ipPart) {return ipPart, true}}}}// 如果没有获取到有效的 IP,则返回远程地址ip, _, _ := net.SplitHostPort(r.RemoteAddr)return ip, isValidIp(ip)
}// isValidIp 校验 IP 地址是否有效
func isValidIp(ip string) bool {return net.ParseIP(ip) != nil
}func GetHeaderAsString(ctx context.Context, key string) (string, bool) {strAny := ctx.Value(key)if strAny != nil {strSlice := cast.ToStringSlice(strAny)if len(strSlice) > 0 {return strSlice[0], true}}return "", false
}

还有一个需求是,如果还需要获取客户端的请求路由,则是

r.URL.Path

http://www.khdw.cn/news/4116.html

相关文章:

  • java的大型网站建设合肥网站优化方案
  • 长尾关键词在网站优化中起的作用有哪些广告推广费用一般多少
  • ps怎么做网站的首页网站关键词优化排名公司
  • 做网站的公司哪家最好关键词点击优化工具
  • 为什么做手机网站网站排名seo软件
  • 如何制作官方网站站长工具国产
  • 佛山网站建设凤软seo查询系统
  • 世界杯直播视频直播重庆seo黄智
  • 注销公安网站备案号seo网络优化专员
  • 做外贸上哪些网站青岛seo网站管理
  • 网站开发好公司百度竞价推广是什么
  • 西安做网站报价今日百度关键词排名
  • 仿站怎么做鹤岗网站seo
  • 免费网站建设企业十大经典广告营销案例
  • 如何设计软件seo工作前景如何
  • 解放军工程建设协会网站百度官方电话
  • 蒙自网站建设怎样在百度上发帖子
  • wordpress装主题失败seo推广思路
  • 百度的网站关键词被篡改网级移动营销app下载
  • 国际服务器网站seo优化外包顾问
  • semcms外贸网站管理系统佛山优化推广
  • 南京网站建设公司哪家好百度小说风云榜排名完结
  • 做网站张家口网络营销策划书封面
  • 北京专业做网站电话重庆seo关键词排名
  • 5118站长平台湖南正规seo公司
  • java资源网站网络营销推广方案策划与实施
  • 建设网站费用百度app免费下载安装最新版
  • 杭州大的做网站的公司苏州网站建设费用
  • 导航网站移动端流量占比百度电话客服24小时人工
  • 网站建设要花多少钱拼多多代运营收费标准