go-extend: github.com/thinkeridea/go-extend/exnet Index | Files | Directories

package exnet

import "github.com/thinkeridea/go-extend/exnet"

Package exnet 收集一些网络模块函数

Index

Package Files

doc.go ip.go

func ClientIP Uses

func ClientIP(r *http.Request) string

ClientIP 尽最大努力实现获取客户端 IP 的算法。 解析 X-Real-IP 和 X-Forwarded-For 以便于反向代理(nginx 或 haproxy)可以正常工作。

func ClientPublicIP Uses

func ClientPublicIP(r *http.Request) string

ClientPublicIP 尽最大努力实现获取客户端公网 IP 的算法。 解析 X-Real-IP 和 X-Forwarded-For 以便于反向代理(nginx 或 haproxy)可以正常工作。

func HasLocalIP Uses

func HasLocalIP(ip net.IP) bool

HasLocalIP 检测 IP 地址是否是内网地址 通过直接对比ip段范围效率更高,详见:https://github.com/thinkeridea/go-extend/issues/2

func HasLocalIPddr Uses

func HasLocalIPddr(ip string) bool

HasLocalIPddr 检测 IP 地址字符串是否是内网地址

func IP2Long Uses

func IP2Long(ip net.IP) (uint, error)

IP2Long 把net.IP转为数值

func IPString2Long Uses

func IPString2Long(ip string) (uint, error)

IPString2Long 把ip字符串转为数值

func Long2IP Uses

func Long2IP(i uint) (net.IP, error)

Long2IP 把数值转为net.IP

func Long2IPString Uses

func Long2IPString(i uint) (string, error)

Long2IPString 把数值转为ip字符串

func RemoteIP Uses

func RemoteIP(r *http.Request) string

RemoteIP 通过 RemoteAddr 获取 IP 地址, 只是一个快速解析方法。

Directories

PathSynopsis
exhttp/expprofPackage expprof 这是从 net/http/pprof 包复制过来的,做了一些调整 我希望核心的逻辑不变,保持和标准库一致的功能,会调整使用的接口,使之易于控制。

Package exnet imports 5 packages (graph). Updated 2019-10-15. Refresh now. Tools for package owners.