location

package
v2.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type IPAPICOMResolver

type IPAPICOMResolver struct {
}

IPAPICOMResolver 基于 ip-api.com 服务的 IP 地址解析器

func NewIPAPICOMResolver

func NewIPAPICOMResolver() *IPAPICOMResolver

NewIPAPICOMResolver 创建一个基于 ip-api.com 服务的 IP 地址解析器

func (*IPAPICOMResolver) Name

func (i *IPAPICOMResolver) Name() string

Name 获取解析器名称

func (*IPAPICOMResolver) Resolve

func (i *IPAPICOMResolver) Resolve(ctx context.Context, ip string) (*Result, error)

Resolve 解析 IP 地址 @param ctx context.Context 上下文,用于超时控制 @param ip string IP 地址 @return @1 *Result 解析结果 @return @2 error 错误信息

type IPAPICOResolver

type IPAPICOResolver struct {
}

IPAPICOResolver 基于 ipapi.co 服务的 IP 地址解析器

func NewIPAPICOResolver

func NewIPAPICOResolver() *IPAPICOResolver

NewIPAPICOResolver 创建一个基于 ipapi.co 服务的 IP 地址解析器

func (*IPAPICOResolver) Name

func (i *IPAPICOResolver) Name() string

Name 获取解析器名称

func (*IPAPICOResolver) Resolve

func (i *IPAPICOResolver) Resolve(ctx context.Context, ip string) (*Result, error)

Resolve 解析 IP 地址 @param ctx context.Context 上下文,用于超时控制 @param ip string IP 地址 @return @1 *Result 解析结果 @return @2 error 错误信息

type IPWHOISResolver

type IPWHOISResolver struct {
}

IPWHOISResolver 基于 ipwho.is 服务的 IP 地址解析器

func NewIPWHOISResolver

func NewIPWHOISResolver() *IPWHOISResolver

NewIPWHOISResolver 创建一个基于 ipwho.is 服务的 IP 地址解析器

func (*IPWHOISResolver) Name

func (i *IPWHOISResolver) Name() string

Name 获取解析器名称

func (*IPWHOISResolver) Resolve

func (i *IPWHOISResolver) Resolve(ctx context.Context, ip string) (*Result, error)

Resolve 解析 IP 地址 @param ctx context.Context 上下文,用于超时控制 @param ip string IP 地址 @return @1 *Result 解析结果 @return @2 error 错误信息

type Location

type Location struct {
	// contains filtered or unexported fields
}

Location 表示地理位置解析器,聚合多个解析器并发解析 IP 地址

func NewLocation

func NewLocation(resolvers ...Resolver) *Location

NewLocation 创建一个新的 Location 实例

func (*Location) Parse

func (l *Location) Parse(ctx context.Context, ip string) (*Result, error)

Parse 解析 IP 地址的地理位置信息 @param ctx context.Context 上下文,用于超时控制 @param ip string IP 地址 @return @1 *Result 解析结果 @return @2 error 错误信息

type Resolver

type Resolver interface {
	// Name 获取解析器名称
	Name() string
	// Resolve 解析 IP 地址
	Resolve(ctx context.Context, ip string) (*Result, error)
}

Resolver 定义 IP 地址解析器接口

type Result

type Result struct {
	IP       string `json:"ip"`       // IP地址
	Country  string `json:"country"`  // 国家
	Province string `json:"province"` // 省/自治区/直辖市
	City     string `json:"city"`     // 城市
	ISP      string `json:"isp"`      // 运营商
}

Result 表示 IP 地址的地理位置解析结果

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL