Documentation ¶
Overview ¶
*
- @Author: DollarKiller
- @Description: 尽最大可能获取用户ip
- @Github: https://github.com/dollarkillerx
- @Date: Create in 17:01 2019-09-18
Index ¶
- type AnalysisIp
- func (a *AnalysisIp) AnalysisIp(r *http.Request) string
- func (a *AnalysisIp) ClientIP(r *http.Request) string
- func (a *AnalysisIp) ClientPublicIP(r *http.Request) string
- func (a *AnalysisIp) HasLocalIP(ip net.IP) bool
- func (a *AnalysisIp) HasLocalIPddr(ip string) bool
- func (a *AnalysisIp) IP2Long(ip net.IP) (uint, error)
- func (a *AnalysisIp) IPString2Long(ip string) (uint, error)
- func (a *AnalysisIp) Long2IP(i uint) (net.IP, error)
- func (a *AnalysisIp) Long2IPString(i uint) (string, error)
- func (a *AnalysisIp) RemoteIP(r *http.Request) string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnalysisIp ¶
type AnalysisIp struct { }
func (*AnalysisIp) AnalysisIp ¶
func (a *AnalysisIp) AnalysisIp(r *http.Request) string
func (*AnalysisIp) ClientIP ¶
func (a *AnalysisIp) ClientIP(r *http.Request) string
ClientIP 尽最大努力实现获取客户端 IP 的算法。 解析 X-Real-IP 和 X-Forwarded-For 以便于反向代理(nginx 或 haproxy)可以正常工作。
func (*AnalysisIp) ClientPublicIP ¶
func (a *AnalysisIp) ClientPublicIP(r *http.Request) string
ClientPublicIP 尽最大努力实现获取客户端公网 IP 的算法。 解析 X-Real-IP 和 X-Forwarded-For 以便于反向代理(nginx 或 haproxy)可以正常工作。
func (*AnalysisIp) HasLocalIP ¶
func (a *AnalysisIp) HasLocalIP(ip net.IP) bool
HasLocalIP 检测 IP 地址是否是内网地址
func (*AnalysisIp) HasLocalIPddr ¶
func (a *AnalysisIp) HasLocalIPddr(ip string) bool
HasLocalIPddr 检测 IP 地址字符串是否是内网地址
func (*AnalysisIp) IP2Long ¶
func (a *AnalysisIp) IP2Long(ip net.IP) (uint, error)
IP2Long 把net.IP转为数值
func (*AnalysisIp) IPString2Long ¶
func (a *AnalysisIp) IPString2Long(ip string) (uint, error)
IPString2Long 把ip字符串转为数值
func (*AnalysisIp) Long2IP ¶
func (a *AnalysisIp) Long2IP(i uint) (net.IP, error)
Long2IP 把数值转为net.IP
func (*AnalysisIp) Long2IPString ¶
func (a *AnalysisIp) Long2IPString(i uint) (string, error)
Long2IPString 把数值转为ip字符串
Click to show internal directories.
Click to hide internal directories.